diff --git a/tests/Unit/Node/UseCases/CreateNodeTest.php b/tests/Unit/Node/UseCases/CreateNodeTest.php index 3255192..b53dc24 100644 --- a/tests/Unit/Node/UseCases/CreateNodeTest.php +++ b/tests/Unit/Node/UseCases/CreateNodeTest.php @@ -6,20 +6,48 @@ use App\Node\Node; use App\Node\NodeRepository; use App\Node\UseCases\CreateNode; use App\Node\UseCases\CreateNodeRequest; +use App\Text\CreateTextDto; +use App\Text\Text; use PHPUnit\Framework\TestCase; use Tests\Fakes\FakeNodeRepository; +use Tests\Fakes\FakeTextRepository; class CreateNodeTest extends TestCase { + private FakeTextRepository $textRepo; + private FakeNodeRepository $nodeRepo; + private CreateNode $useCase; + + public function setUp(): void + { + $this->textRepo = new FakeTextRepository; + $this->textRepo->create(new CreateTextDto( + name: 'text' + )); + $this->nodeRepo = new FakeNodeRepository; + $this->useCase = new CreateNode( + nodeRepo: $this->nodeRepo, + textRepo: $this->textRepo, + ); + } + public function test_create_node(): void { - $nodeRepo = new FakeNodeRepository; - $useCase = new CreateNode($nodeRepo); - $node = $useCase->execute(new CreateNodeRequest( + $node = $this->useCase->execute(new CreateNodeRequest( + textId: 0, title: 'test', )); - $this->assertInstanceOf(NodeRepository::class, $nodeRepo); + $this->assertInstanceOf(NodeRepository::class, $this->nodeRepo); $this->assertInstanceOf(Node::class, $node); $this->assertEquals('test', $node->getTitle()); } + + public function test_node_belongs_to_text(): void + { + $node = $this->useCase->execute(new CreateNodeRequest( + textId: 0, + title: 'test', + )); + $this->assertInstanceOf(Text::class, $node->getText()); + } }