From cd9e96f7b185c42c20dd35efbf118cebdc5d9376 Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Fri, 20 Feb 2026 11:59:22 +0200 Subject: [PATCH] add setup method and test that node has a text --- tests/Unit/Node/UseCases/CreateNodeTest.php | 36 ++++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) 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()); + } }