diff --git a/src/Opdavies/TwigExtension/OpdaviesTwigExtension.php b/src/Opdavies/TwigExtension/OpdaviesTwigExtension.php index 9c9fc41d..6d664998 100644 --- a/src/Opdavies/TwigExtension/OpdaviesTwigExtension.php +++ b/src/Opdavies/TwigExtension/OpdaviesTwigExtension.php @@ -23,7 +23,7 @@ class OpdaviesTwigExtension extends AbstractExtension public function getPastTalkCount(array $talks): int { - $today = (new \DateTime())->getTimestamp(); + $today = (new \DateTime('today'))->getTimestamp(); return collect($talks) ->flatMap(fn (ProxySourceItem $talk) => $talk->data()->get('events')) diff --git a/tests/Opdavies/TwigExtension/OpdaviesTwigExtensionTest.php b/tests/Opdavies/TwigExtension/OpdaviesTwigExtensionTest.php index 42852d50..ebd03d46 100644 --- a/tests/Opdavies/TwigExtension/OpdaviesTwigExtensionTest.php +++ b/tests/Opdavies/TwigExtension/OpdaviesTwigExtensionTest.php @@ -90,6 +90,30 @@ class OpdaviesTwigExtensionTest extends TestCase $this->assertTalkCount(expectedCount: 2, talks: [$talkA, $talkB]); } + public function testTheCurrentDayIsNotCounted(): void + { + $talkA = $this->createTalk( + events: [ + ['date' => (new \DateTime('yesterday'))->getTimestamp()], + ['date' => (new \DateTime('today'))->getTimestamp()], + ], + ); + + $talkB = $this->createTalk( + events: [ + ['date' => (new \DateTime('today'))->getTimestamp()], + ], + ); + + $talkC = $this->createTalk( + events: [ + ['date' => (new \DateTime('yesterday'))->getTimestamp()], + ], + ); + + $this->assertTalkCount(expectedCount: 2, talks: [$talkA, $talkB, $talkC]); + } + /** * Assert the extension uses the correct number of talks. */