From e04931ac08f81822d50dc11616d42b5e1d6ce67f Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Fri, 1 May 2026 09:06:13 +0300 Subject: [PATCH] test that todays schedule only returns uncompleted nodes --- .../UseCases/GetTodaysSchedule.php | 3 ++- .../UseCases/GetTodaysScheduleTest.php | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/app/ScheduledNode/UseCases/GetTodaysSchedule.php b/app/ScheduledNode/UseCases/GetTodaysSchedule.php index 973d2f4..12ff902 100644 --- a/app/ScheduledNode/UseCases/GetTodaysSchedule.php +++ b/app/ScheduledNode/UseCases/GetTodaysSchedule.php @@ -27,7 +27,8 @@ class GetTodaysSchedule return array_filter( $scheduledNodes, function (ScheduledNode $node) use ($date) { - return $node->getDate() <= $date; + return $node->getDate() <= $date + && $node->getCompleted() === false; } ); } diff --git a/tests/Unit/ScheduledNode/UseCases/GetTodaysScheduleTest.php b/tests/Unit/ScheduledNode/UseCases/GetTodaysScheduleTest.php index ddc131c..58a77b2 100644 --- a/tests/Unit/ScheduledNode/UseCases/GetTodaysScheduleTest.php +++ b/tests/Unit/ScheduledNode/UseCases/GetTodaysScheduleTest.php @@ -87,4 +87,27 @@ class GetTodaysScheduleTest extends TestCase )); $this->assertEquals(2, count($result)); } + + public function test_only_returns_uncompleted_nodes(): void + { + $node = $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, + ), + )); + $node->setCompleted(true); + $this->scheduledNodeRepo->update($node); + + $result = $this->useCase->execute(new GetTodaysScheduleRequest( + date: '2025-01-02', + userId: 0, + )); + $this->assertEquals(1, count($result)); + } }