From ec4dca87a6e2c2fcd207fecb04285171213f55e9 Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Tue, 28 Apr 2026 22:48:25 +0300 Subject: [PATCH] test that all nodes up until given date are returned --- .../UseCases/GetTodaysSchedule.php | 3 +-- .../UseCases/GetTodaysScheduleTest.php | 23 +++++++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/app/ScheduledNode/UseCases/GetTodaysSchedule.php b/app/ScheduledNode/UseCases/GetTodaysSchedule.php index 1745fd3..973d2f4 100644 --- a/app/ScheduledNode/UseCases/GetTodaysSchedule.php +++ b/app/ScheduledNode/UseCases/GetTodaysSchedule.php @@ -27,8 +27,7 @@ class GetTodaysSchedule return array_filter( $scheduledNodes, function (ScheduledNode $node) use ($date) { - return $node->getDate()->format('Y-m-d') - === $date->format('Y-m-d'); + return $node->getDate() <= $date; } ); } diff --git a/tests/Unit/ScheduledNode/UseCases/GetTodaysScheduleTest.php b/tests/Unit/ScheduledNode/UseCases/GetTodaysScheduleTest.php index f6b7053..ddc131c 100644 --- a/tests/Unit/ScheduledNode/UseCases/GetTodaysScheduleTest.php +++ b/tests/Unit/ScheduledNode/UseCases/GetTodaysScheduleTest.php @@ -42,7 +42,7 @@ class GetTodaysScheduleTest extends TestCase user: $user, )); $this->scheduledNodeRepo->create(new CreateScheduledNodeDto( - date: new DateTimeImmutable('2025-01-01'), + date: new DateTimeImmutable('2025-01-02'), plan: $plan, node: new Node( id: 0, @@ -61,11 +61,30 @@ class GetTodaysScheduleTest extends TestCase public function test_returns_array_of_scheduled_nodes(): void { $result = $this->useCase->execute(new GetTodaysScheduleRequest( - date: '2025-01-01', + date: '2025-01-02', userId: 0, )); $this->assertIsArray($result); $this->assertInstanceOf(ScheduledNode::class, $result[0]); } + + public function test_returns_all_unfinished_scheduled_nodes_up_until_today(): void + { + $this->scheduledNodeRepo->create(new CreateScheduledNodeDto( + date: new DateTimeImmutable('2025-01-01'), + plan: $this->planRepo->find(0), + node: new Node( + id: 0, + title: 'test node', + text: new Text(id: 0, name: 'test text'), + parentNode: null, + ), + )); + $result = $this->useCase->execute(new GetTodaysScheduleRequest( + date: '2025-01-02', + userId: 0, + )); + $this->assertEquals(2, count($result)); + } }