From a8f459098f05e6c11478035f29d4aa4c73a57f04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Fri, 5 Jan 2024 10:06:37 -0300 Subject: [PATCH] Add unit tests for ColumnController MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: MaurĂ­cio Meneghini Fauth --- psalm-baseline.xml | 5 -- .../Controllers/ColumnControllerTest.php | 47 +++++++++++++++++++ 2 files changed, 47 insertions(+), 5 deletions(-) create mode 100644 tests/classes/Controllers/ColumnControllerTest.php diff --git a/psalm-baseline.xml b/psalm-baseline.xml index cc77f41958..62e4c06988 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -863,11 +863,6 @@ Config::getInstance() - - - __construct - - __construct diff --git a/tests/classes/Controllers/ColumnControllerTest.php b/tests/classes/Controllers/ColumnControllerTest.php new file mode 100644 index 0000000000..f6828828ef --- /dev/null +++ b/tests/classes/Controllers/ColumnControllerTest.php @@ -0,0 +1,47 @@ +createServerRequest('GET', 'http://example.com/') + ->withParsedBody(['db' => 'test_db', 'table' => 'test_table']); + + $dbi = $this->createDatabaseInterface(); + $responseRenderer = new ResponseRenderer(); + $controller = new ColumnController($responseRenderer, new Template(new Config()), $dbi); + $controller($request); + + self::assertTrue($responseRenderer->hasSuccessState()); + self::assertSame('', $responseRenderer->getHTMLResult()); + self::assertSame(['columns' => ['id', 'name', 'datetimefield']], $responseRenderer->getJSONResult()); + } + + public function testWithMissingParameters(): void + { + $request = ServerRequestFactory::create()->createServerRequest('GET', 'http://example.com/'); + + $dbi = $this->createDatabaseInterface(); + $responseRenderer = new ResponseRenderer(); + $controller = new ColumnController($responseRenderer, new Template(new Config()), $dbi); + $controller($request); + + self::assertFalse($responseRenderer->hasSuccessState()); + self::assertSame('', $responseRenderer->getHTMLResult()); + self::assertSame(['message' => Message::error()->getDisplay()], $responseRenderer->getJSONResult()); + } +}