From 98f597914a22867c9e48de83a8c391ce71e3897e Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Fri, 17 Apr 2026 09:54:44 +0300 Subject: [PATCH] test text controller methods --- tests/e2e/Controllers/TextControllerTest.php | 83 ++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 tests/e2e/Controllers/TextControllerTest.php diff --git a/tests/e2e/Controllers/TextControllerTest.php b/tests/e2e/Controllers/TextControllerTest.php new file mode 100644 index 0000000..5788360 --- /dev/null +++ b/tests/e2e/Controllers/TextControllerTest.php @@ -0,0 +1,83 @@ +textRepo = new FakeTextRepository; + $this->textRepo->create(new CreateTextDto( + name: 'test text', + )); + $this->controller = new TextController($this->textRepo); + } + + public function test_get_one_text(): void + { + $response = $this->controller->getText( + new Response(), + 0, + ); + $this->assertEquals( + json_encode([ + 'id' => 0, + 'name' => 'test text', + ]), + $response->getBody() + ); + } + + public function test_get_all_texts(): void + { + $this->textRepo->create(new CreateTextDto( + name: 'test text 2', + )); + $response = $this->controller->getTexts(new Response()); + $this->assertEquals( + json_encode([ + [ + 'id' => 0, + 'name' => 'test text', + ], + [ + 'id' => 1, + 'name' => 'test text 2', + ] + ]), + $response->getBody() + ); + } + + public function test_create_text(): void + { + $request = (new ServerRequestFactory()) + ->createServerRequest('POST', 'http://localhost/texts') + ->withParsedBody(['name' => 'my new text']); + + $response = $this->controller->createText( + $request, + new Response(), + new CreateText($this->textRepo), + ); + $this->assertEquals( + json_encode([ + 'id' => 1, + 'name' => 'my new text', + ]), + $response->getBody() + ); + } +}