diff options
author | William Desportes <williamdes@wdes.fr> | 2021-04-29 01:19:02 +0300 |
---|---|---|
committer | William Desportes <williamdes@wdes.fr> | 2021-04-29 01:19:02 +0300 |
commit | a4bcd1cfc48a57d37c2ab3a1612e4472d6bde4a9 (patch) | |
tree | 43fb0f3c207b9b3a9da62a7f7429fb17933c9a1a /test/classes | |
parent | c51af5a0034dcd4d2d65a3c34e98b55f20943574 (diff) |
Move DBI getForeignKeyConstrains method to controller
Signed-off-by: William Desportes <williamdes@wdes.fr>
Diffstat (limited to 'test/classes')
-rw-r--r-- | test/classes/AbstractTestCase.php | 10 | ||||
-rw-r--r-- | test/classes/Controllers/Database/MultiTableQueryControllerTest.php | 52 | ||||
-rw-r--r-- | test/classes/DatabaseInterfaceTest.php | 15 |
3 files changed, 62 insertions, 15 deletions
diff --git a/test/classes/AbstractTestCase.php b/test/classes/AbstractTestCase.php index 8034a6b84a..7db47765e5 100644 --- a/test/classes/AbstractTestCase.php +++ b/test/classes/AbstractTestCase.php @@ -113,6 +113,16 @@ abstract class AbstractTestCase extends TestCase return $response->getHTMLResult(); } + protected function getResponseJsonResult(): array + { + global $containerBuilder; + + /** @var Response $response */ + $response = $containerBuilder->get(Response::class); + + return $response->getJSONResult(); + } + protected function setGlobalDbi(): void { global $dbi; diff --git a/test/classes/Controllers/Database/MultiTableQueryControllerTest.php b/test/classes/Controllers/Database/MultiTableQueryControllerTest.php new file mode 100644 index 0000000000..5275242440 --- /dev/null +++ b/test/classes/Controllers/Database/MultiTableQueryControllerTest.php @@ -0,0 +1,52 @@ +<?php + +declare(strict_types=1); + +namespace PhpMyAdmin\Tests\Controllers\Database; + +use PhpMyAdmin\Controllers\Database\MultiTableQueryController; +use PhpMyAdmin\Tests\AbstractTestCase; + +class MultiTableQueryControllerTest extends AbstractTestCase +{ + protected function setUp(): void + { + parent::setUp(); + parent::loadDefaultConfig(); + parent::setLanguage(); + parent::setGlobalDbi(); + parent::loadContainerBuilder(); + parent::loadDbiIntoContainerBuilder(); + $GLOBALS['server'] = 1; + $GLOBALS['PMA_PHP_SELF'] = ''; + parent::loadResponseIntoContainerBuilder(); + } + + public function testGetForeignKeyConstrainsForTable(): void + { + $_GET['tables'] = [ + 'table1', + 'table2', + ]; + $_GET['db'] = 'test'; + + global $containerBuilder; + $containerBuilder->setParameter('db', $_GET['db']); + /** @var MultiTableQueryController $multiTableQueryController */ + $multiTableQueryController = $containerBuilder->get(MultiTableQueryController::class); + $multiTableQueryController->table(); + $this->assertSame( + [ + 'foreignKeyConstrains' => [ + [ + 'TABLE_NAME' => 'table2', + 'COLUMN_NAME' => 'idtable2', + 'REFERENCED_TABLE_NAME' => 'table1', + 'REFERENCED_COLUMN_NAME' => 'idtable1', + ], + ], + ], + $this->getResponseJsonResult() + ); + } +} diff --git a/test/classes/DatabaseInterfaceTest.php b/test/classes/DatabaseInterfaceTest.php index 43158f2ed2..f1fb5a25d7 100644 --- a/test/classes/DatabaseInterfaceTest.php +++ b/test/classes/DatabaseInterfaceTest.php @@ -399,19 +399,4 @@ class DatabaseInterfaceTest extends AbstractTestCase $dbi->setCollation('utf8_czech_ci'); $dbi->setCollation('utf8mb4_bin_ci'); } - - /** - * Tests for DBI::getForeignKeyConstrains() method. - */ - public function testGetForeignKeyConstrains(): void - { - $this->assertEquals([ - [ - 'TABLE_NAME' => 'table2', - 'COLUMN_NAME' => 'idtable2', - 'REFERENCED_TABLE_NAME' => 'table1', - 'REFERENCED_COLUMN_NAME' => 'idtable1', - ], - ], $this->dbi->getForeignKeyConstrains('test', ['table1', 'table2'])); - } } |