From c229b98f76ba4e6314afe1cd86677d601b8fbf2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Wed, 20 Dec 2023 21:13:54 -0300 Subject: [PATCH] Remove container from Sql\EnumValuesControllerTest 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 | 3 - tests/classes/AbstractTestCase.php | 8 --- .../Sql/EnumValuesControllerTest.php | 67 +++++++++++++++---- 3 files changed, 53 insertions(+), 25 deletions(-) diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 7ce3a086f6..a42110cefc 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -3170,9 +3170,6 @@ $column $currValue - - __construct - diff --git a/tests/classes/AbstractTestCase.php b/tests/classes/AbstractTestCase.php index 913d18e122..3ff2633bdb 100644 --- a/tests/classes/AbstractTestCase.php +++ b/tests/classes/AbstractTestCase.php @@ -104,14 +104,6 @@ abstract class AbstractTestCase extends TestCase return $response->getJSONResult(); } - protected function assertResponseWasNotSuccessfull(): void - { - /** @var ResponseRenderer $response */ - $response = Core::getContainerBuilder()->get(ResponseRenderer::class); - - $this->assertFalse($response->hasSuccessState(), 'expected the request to fail'); - } - protected function assertResponseWasSuccessfull(): void { /** @var ResponseRenderer $response */ diff --git a/tests/classes/Controllers/Sql/EnumValuesControllerTest.php b/tests/classes/Controllers/Sql/EnumValuesControllerTest.php index ec46aeeef6..070dc02c43 100644 --- a/tests/classes/Controllers/Sql/EnumValuesControllerTest.php +++ b/tests/classes/Controllers/Sql/EnumValuesControllerTest.php @@ -4,13 +4,21 @@ declare(strict_types=1); namespace PhpMyAdmin\Tests\Controllers\Sql; +use PhpMyAdmin\Bookmarks\BookmarkRepository; +use PhpMyAdmin\CheckUserPrivileges; +use PhpMyAdmin\ConfigStorage\Relation; +use PhpMyAdmin\ConfigStorage\RelationCleanup; use PhpMyAdmin\Controllers\Sql\EnumValuesController; -use PhpMyAdmin\Core; use PhpMyAdmin\Current; use PhpMyAdmin\DatabaseInterface; use PhpMyAdmin\Http\ServerRequest; +use PhpMyAdmin\Operations; +use PhpMyAdmin\Sql; +use PhpMyAdmin\Template; use PhpMyAdmin\Tests\AbstractTestCase; use PhpMyAdmin\Tests\Stubs\DbiDummy; +use PhpMyAdmin\Tests\Stubs\ResponseRenderer; +use PhpMyAdmin\Transformations; use PHPUnit\Framework\Attributes\CoversClass; #[CoversClass(EnumValuesController::class)] @@ -30,8 +38,6 @@ class EnumValuesControllerTest extends AbstractTestCase $GLOBALS['server'] = 1; $GLOBALS['text_dir'] = 'ltr'; - - parent::loadResponseIntoContainerBuilder(); } public function testGetEnumValuesError(): void @@ -50,16 +56,31 @@ class EnumValuesControllerTest extends AbstractTestCase ['curr_value', null, 'b&c'], ]); - /** @var EnumValuesController $sqlController */ - $sqlController = Core::getContainerBuilder()->get(EnumValuesController::class); + $responseRenderer = new ResponseRenderer(); + $template = new Template(); + $relation = new Relation($this->dbi); + $bookmarkRepository = new BookmarkRepository($this->dbi, $relation); + $sql = new Sql( + $this->dbi, + $relation, + self::createStub(RelationCleanup::class), + self::createStub(Operations::class), + self::createStub(Transformations::class), + $template, + $bookmarkRepository, + ); + + $sqlController = new EnumValuesController( + $responseRenderer, + $template, + $sql, + new CheckUserPrivileges($this->dbi), + ); $sqlController($request); - $this->assertResponseWasNotSuccessfull(); + $this->assertFalse($responseRenderer->hasSuccessState(), 'expected the request to fail'); - $this->assertSame( - ['message' => 'Error in processing request'], - $this->getResponseJsonResult(), - ); + $this->assertSame(['message' => 'Error in processing request'], $responseRenderer->getJSONResult()); } public function testGetEnumValuesSuccess(): void @@ -91,11 +112,29 @@ class EnumValuesControllerTest extends AbstractTestCase ['curr_value', null, 'b&c'], ]); - /** @var EnumValuesController $sqlController */ - $sqlController = Core::getContainerBuilder()->get(EnumValuesController::class); + $responseRenderer = new ResponseRenderer(); + $template = new Template(); + $relation = new Relation($this->dbi); + $bookmarkRepository = new BookmarkRepository($this->dbi, $relation); + $sql = new Sql( + $this->dbi, + $relation, + self::createStub(RelationCleanup::class), + self::createStub(Operations::class), + self::createStub(Transformations::class), + $template, + $bookmarkRepository, + ); + + $sqlController = new EnumValuesController( + $responseRenderer, + $template, + $sql, + new CheckUserPrivileges($this->dbi), + ); $sqlController($request); - $this->assertResponseWasSuccessfull(); + $this->assertTrue($responseRenderer->hasSuccessState(), 'expected the request not to fail'); $this->assertSame( [ @@ -112,7 +151,7 @@ class EnumValuesControllerTest extends AbstractTestCase . ' ' . "\n" . ' ' . "\n", ], - $this->getResponseJsonResult(), + $responseRenderer->getJSONResult(), ); } }