move instantiation of date time immutable to use case. request gets a string

This commit is contained in:
Yisroel Baum 2026-04-23 20:09:17 +03:00
parent d7fdbc20ee
commit c32087c35d
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
4 changed files with 8 additions and 10 deletions

View file

@ -59,7 +59,7 @@ class CreatePlan
foreach ($nodesOfText as $node) {
$this->createScheduledNode->execute(
new CreateScheduledNodeRequest(
date: new DateTimeImmutable(),
date: '2025-01-01', // TODO: this should be cycling over some list of dates
planId: $plan->getId(),
)
);

View file

@ -7,6 +7,7 @@ use App\Plan\PlanRepository;
use App\ScheduledNode\ScheduledNode;
use App\ScheduledNode\CreateScheduledNodeDto;
use App\ScheduledNode\ScheduledNodeRepository;
use DateTimeImmutable;
use DomainException;
class CreateScheduledNode
@ -39,7 +40,7 @@ class CreateScheduledNode
return $this->scheduledNodeRepo->create(
new CreateScheduledNodeDto(
date: $request->date,
date: new DateTimeImmutable($request->date),
plan: $plan,
)
);

View file

@ -2,12 +2,10 @@
namespace App\ScheduledNode\UseCases;
use DateTimeImmutable;
class CreateScheduledNodeRequest
{
public function __construct(
public ?DateTimeImmutable $date,
public ?string $date,
public ?int $planId,
) {}
}

View file

@ -11,7 +11,6 @@ use App\ScheduledNode\UseCases\CreateScheduledNode;
use App\ScheduledNode\UseCases\CreateScheduledNodeRequest;
use App\User\User;
use App\ValueObjects\EmailAddress;
use DateTimeImmutable;
use DomainException;
use Tests\Fakes\FakePlanRepository;
use Tests\Fakes\FakeScheduledNodeRepository;
@ -43,7 +42,7 @@ class CreateScheduledNodeTest extends TestCase
{
$scheduledNode = $this->useCase->execute(
new CreateScheduledNodeRequest(
date: new DateTimeImmutable('now'),
date: '2025-01-01',
planId: 0,
)
);
@ -58,7 +57,7 @@ class CreateScheduledNodeTest extends TestCase
{
$scheduledNode = $this->useCase->execute(
new CreateScheduledNodeRequest(
date: new DateTimeImmutable('now'),
date: '2025-01-01',
planId: 0,
)
);
@ -71,7 +70,7 @@ class CreateScheduledNodeTest extends TestCase
$this->expectExceptionMessage('Plan with id: 1 doesnt exist');
$this->useCase->execute(
new CreateScheduledNodeRequest(
date: new DateTimeImmutable('now'),
date: '2025-01-01',
planId: 1,
)
);
@ -97,7 +96,7 @@ class CreateScheduledNodeTest extends TestCase
$this->useCase->execute(
new CreateScheduledNodeRequest(
date: new DateTimeImmutable('now'),
date: '2025-01-01',
planId: null,
)
);