40 lines
1.1 KiB
PHP
40 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Tests\Unit\ScheduledNode\UseCases;
|
|
|
|
use App\ScheduledNode\ScheduledNode;
|
|
use App\ScheduledNode\ScheduledNodeRepository;
|
|
use App\ScheduledNode\UseCases\CreateScheduledNode;
|
|
use App\ScheduledNode\UseCases\CreateScheduledNodeRequest;
|
|
use DateTimeImmutable;
|
|
use Tests\Fakes\FakeScheduledNodeRepository;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class CreateScheduledNodeTest extends TestCase
|
|
{
|
|
private FakeScheduledNodeRepository $scheduledNodeRepo;
|
|
|
|
private CreateScheduledNode $useCase;
|
|
|
|
public function setUp(): void
|
|
{
|
|
$this->scheduledNodeRepo = new FakeScheduledNodeRepository;
|
|
$this->useCase = new CreateScheduledNode(
|
|
$this->scheduledNodeRepo
|
|
);
|
|
}
|
|
|
|
public function test_create_scheduled_node(): void
|
|
{
|
|
$scheduledNode = $this->useCase->execute(
|
|
new CreateScheduledNodeRequest(
|
|
date: new DateTimeImmutable('now')
|
|
)
|
|
);
|
|
$this->assertInstanceOf(ScheduledNode::class, $scheduledNode);
|
|
$this->assertInstanceOf(
|
|
ScheduledNodeRepository::class,
|
|
$this->scheduledNodeRepo
|
|
);
|
|
}
|
|
}
|