Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Desportes <williamdes@wdes.fr>2021-04-29 01:19:02 +0300
committerWilliam Desportes <williamdes@wdes.fr>2021-04-29 01:19:02 +0300
commita4bcd1cfc48a57d37c2ab3a1612e4472d6bde4a9 (patch)
tree43fb0f3c207b9b3a9da62a7f7429fb17933c9a1a /test/classes
parentc51af5a0034dcd4d2d65a3c34e98b55f20943574 (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.php10
-rw-r--r--test/classes/Controllers/Database/MultiTableQueryControllerTest.php52
-rw-r--r--test/classes/DatabaseInterfaceTest.php15
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']));
- }
}