extension = new TalksExtension(); } /** @test */ public function get_past_events() { $talkA = [ 'title' => 'Test Driven Drupal', 'events' => [ [ 'event' => 'php_south_wales', 'date' => (new DateTime('+1 days'))->getTimestamp(), ], [ 'event' => 'drupalcamp_london', 'date' => (new DateTime('-1 days'))->getTimestamp(), ], ], ]; $talkB = [ 'title' => 'Taking Flight with Tailwind CSS', 'events' => [ [ 'event' => 'blue_conf_2019', 'date' => (new DateTime('-2 days'))->getTimestamp(), ], ], ]; $talks = $this->extension->getTalks([$talkA, $talkB]); $events = $this->extension->filterPastEvents($talks); $this->assertInstanceOf(Collection::class, $talks); $this->assertInstanceOf(Collection::class, $events); $this->assertCount(2, $events); } /** @test */ public function get_current_or_upcoming_events() { $talkA = [ 'title' => 'Test Driven Drupal', 'events' => [ [ 'event' => 'php_south_wales', 'date' => (new DateTime('+0 days'))->getTimestamp(), ], [ 'event' => 'drupalcamp_london', 'date' => (new DateTime('-1 days'))->getTimestamp(), ], ], ]; $talkB = [ 'title' => 'Taking Flight with Tailwind CSS', 'events' => [ [ 'event' => 'blue_conf_2019', 'date' => (new DateTime('+2 days'))->getTimestamp(), ], ], ]; $talks = $this->extension->getTalks([$talkA, $talkB]); $events = $this->extension->filterUpcomingEvents($talks); $this->assertInstanceOf(Collection::class, $talks); $this->assertInstanceOf(Collection::class, $events); $this->assertCount(2, $events); } }