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
path: root/test
diff options
context:
space:
mode:
authorMaurício Meneghini Fauth <mauricio@fauth.dev>2021-09-07 00:30:21 +0300
committerMaurício Meneghini Fauth <mauricio@fauth.dev>2021-09-07 00:30:21 +0300
commit96adfe37f4d4934e5c2d73ea18baf57d7f0c8483 (patch)
tree971147205a389f70d2558b18a21305377d0240f2 /test
parent322dc72621e561bcd2f6a51e9a4474e5a860dca6 (diff)
Extract actions from controllers to new ctrls
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
Diffstat (limited to 'test')
-rw-r--r--test/classes/Controllers/Database/MultiTableQuery/TablesControllerTest.php (renamed from test/classes/Controllers/Database/MultiTableQueryControllerTest.php)15
-rw-r--r--test/classes/Controllers/Export/Template/CreateControllerTest.php82
-rw-r--r--test/classes/Controllers/Export/Template/DeleteControllerTest.php44
-rw-r--r--test/classes/Controllers/Export/Template/LoadControllerTest.php54
-rw-r--r--test/classes/Controllers/Export/Template/UpdateControllerTest.php47
-rw-r--r--test/classes/Controllers/ExportTemplateControllerTest.php148
-rw-r--r--test/classes/Controllers/Transformation/OverviewControllerTest.php (renamed from test/classes/Controllers/TransformationOverviewControllerTest.php)10
7 files changed, 239 insertions, 161 deletions
diff --git a/test/classes/Controllers/Database/MultiTableQueryControllerTest.php b/test/classes/Controllers/Database/MultiTableQuery/TablesControllerTest.php
index 8dd7a538fe..c7bce01764 100644
--- a/test/classes/Controllers/Database/MultiTableQueryControllerTest.php
+++ b/test/classes/Controllers/Database/MultiTableQuery/TablesControllerTest.php
@@ -2,15 +2,15 @@
declare(strict_types=1);
-namespace PhpMyAdmin\Tests\Controllers\Database;
+namespace PhpMyAdmin\Tests\Controllers\Database\MultiTableQuery;
-use PhpMyAdmin\Controllers\Database\MultiTableQueryController;
+use PhpMyAdmin\Controllers\Database\MultiTableQuery\TablesController;
use PhpMyAdmin\Tests\AbstractTestCase;
/**
- * @covers \PhpMyAdmin\Controllers\Database\MultiTableQueryController
+ * @covers \PhpMyAdmin\Controllers\Database\MultiTableQuery\TablesController
*/
-class MultiTableQueryControllerTest extends AbstractTestCase
+class TablesControllerTest extends AbstractTestCase
{
protected function setUp(): void
{
@@ -34,10 +34,9 @@ class MultiTableQueryControllerTest extends AbstractTestCase
$_GET['db'] = 'test';
global $containerBuilder;
- $containerBuilder->setParameter('db', $_GET['db']);
- /** @var MultiTableQueryController $multiTableQueryController */
- $multiTableQueryController = $containerBuilder->get(MultiTableQueryController::class);
- $multiTableQueryController->table();
+ /** @var TablesController $multiTableQueryController */
+ $multiTableQueryController = $containerBuilder->get(TablesController::class);
+ $multiTableQueryController();
$this->assertSame(
[
'foreignKeyConstrains' => [
diff --git a/test/classes/Controllers/Export/Template/CreateControllerTest.php b/test/classes/Controllers/Export/Template/CreateControllerTest.php
new file mode 100644
index 0000000000..802d11b684
--- /dev/null
+++ b/test/classes/Controllers/Export/Template/CreateControllerTest.php
@@ -0,0 +1,82 @@
+<?php
+
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Tests\Controllers\Export\Template;
+
+use PhpMyAdmin\Controllers\Export\Template\CreateController;
+use PhpMyAdmin\Export\Template as ExportTemplate;
+use PhpMyAdmin\Export\TemplateModel;
+use PhpMyAdmin\Http\ServerRequest;
+use PhpMyAdmin\Relation;
+use PhpMyAdmin\Template;
+use PhpMyAdmin\Tests\AbstractTestCase;
+use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
+use PhpMyAdmin\Version;
+
+/**
+ * @covers \PhpMyAdmin\Controllers\Export\Template\CreateController
+ */
+class CreateControllerTest extends AbstractTestCase
+{
+ public function testCreate(): void
+ {
+ global $cfg;
+
+ $GLOBALS['server'] = 1;
+ $GLOBALS['text_dir'] = 'ltr';
+ $GLOBALS['PMA_PHP_SELF'] = 'index.php';
+
+ $_SESSION['relation'][$GLOBALS['server']] = [
+ 'version' => Version::VERSION,
+ 'exporttemplateswork' => true,
+ 'trackingwork' => false,
+ 'db' => 'db',
+ 'export_templates' => 'table',
+ ];
+
+ $cfg['Server']['user'] = 'user';
+
+ $response = new ResponseRenderer();
+ $template = new Template();
+ $request = $this->createStub(ServerRequest::class);
+ $request->method('getParsedBodyParam')->willReturnMap([
+ ['exportType', '', 'type'],
+ ['templateName', '', 'name'],
+ ['templateData', '', 'data'],
+ ['template_id', null, null],
+ ]);
+
+ (new CreateController(
+ $response,
+ $template,
+ new TemplateModel($this->dbi),
+ new Relation($this->dbi, $template)
+ ))($request);
+
+ $templates = [
+ ExportTemplate::fromArray([
+ 'id' => 1,
+ 'username' => 'user1',
+ 'exportType' => 'type1',
+ 'name' => 'name1',
+ 'data' => 'data1',
+ ]),
+ ExportTemplate::fromArray([
+ 'id' => 2,
+ 'username' => 'user2',
+ 'exportType' => 'type2',
+ 'name' => 'name2',
+ 'data' => 'data2',
+ ]),
+ ];
+
+ $options = $template->render('export/template_options', [
+ 'templates' => $templates,
+ 'selected_template' => null,
+ ]);
+
+ $this->assertTrue($response->hasSuccessState());
+ $this->assertEquals(['data' => $options], $response->getJSONResult());
+ }
+}
diff --git a/test/classes/Controllers/Export/Template/DeleteControllerTest.php b/test/classes/Controllers/Export/Template/DeleteControllerTest.php
new file mode 100644
index 0000000000..ee6cc95482
--- /dev/null
+++ b/test/classes/Controllers/Export/Template/DeleteControllerTest.php
@@ -0,0 +1,44 @@
+<?php
+
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Tests\Controllers\Export\Template;
+
+use PhpMyAdmin\Controllers\Export\Template\DeleteController;
+use PhpMyAdmin\Export\TemplateModel;
+use PhpMyAdmin\Http\ServerRequest;
+use PhpMyAdmin\Relation;
+use PhpMyAdmin\Template;
+use PhpMyAdmin\Tests\AbstractTestCase;
+use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
+
+/**
+ * @covers \PhpMyAdmin\Controllers\Export\Template\DeleteController
+ */
+class DeleteControllerTest extends AbstractTestCase
+{
+ public function testDelete(): void
+ {
+ global $cfg;
+
+ $GLOBALS['server'] = 1;
+ $GLOBALS['text_dir'] = 'ltr';
+ $GLOBALS['PMA_PHP_SELF'] = 'index.php';
+
+ $cfg['Server']['user'] = 'user';
+
+ $response = new ResponseRenderer();
+ $template = new Template();
+ $request = $this->createStub(ServerRequest::class);
+ $request->method('getParsedBodyParam')->willReturn('1');
+
+ (new DeleteController(
+ $response,
+ $template,
+ new TemplateModel($this->dbi),
+ new Relation($this->dbi, $template)
+ ))($request);
+
+ $this->assertTrue($response->hasSuccessState());
+ }
+}
diff --git a/test/classes/Controllers/Export/Template/LoadControllerTest.php b/test/classes/Controllers/Export/Template/LoadControllerTest.php
new file mode 100644
index 0000000000..7fe946b650
--- /dev/null
+++ b/test/classes/Controllers/Export/Template/LoadControllerTest.php
@@ -0,0 +1,54 @@
+<?php
+
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Tests\Controllers\Export\Template;
+
+use PhpMyAdmin\Controllers\Export\Template\LoadController;
+use PhpMyAdmin\Export\TemplateModel;
+use PhpMyAdmin\Http\ServerRequest;
+use PhpMyAdmin\Relation;
+use PhpMyAdmin\Template;
+use PhpMyAdmin\Tests\AbstractTestCase;
+use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
+use PhpMyAdmin\Version;
+
+/**
+ * @covers \PhpMyAdmin\Controllers\Export\Template\LoadController
+ */
+class LoadControllerTest extends AbstractTestCase
+{
+ public function testLoad(): void
+ {
+ global $cfg;
+
+ $GLOBALS['server'] = 1;
+ $GLOBALS['text_dir'] = 'ltr';
+ $GLOBALS['PMA_PHP_SELF'] = 'index.php';
+
+ $_SESSION['relation'][$GLOBALS['server']] = [
+ 'version' => Version::VERSION,
+ 'exporttemplateswork' => true,
+ 'trackingwork' => false,
+ 'db' => 'db',
+ 'export_templates' => 'table',
+ ];
+
+ $cfg['Server']['user'] = 'user';
+
+ $response = new ResponseRenderer();
+ $template = new Template();
+ $request = $this->createStub(ServerRequest::class);
+ $request->method('getParsedBodyParam')->willReturn('1');
+
+ (new LoadController(
+ $response,
+ $template,
+ new TemplateModel($this->dbi),
+ new Relation($this->dbi, $template)
+ ))($request);
+
+ $this->assertTrue($response->hasSuccessState());
+ $this->assertEquals(['data' => 'data1'], $response->getJSONResult());
+ }
+}
diff --git a/test/classes/Controllers/Export/Template/UpdateControllerTest.php b/test/classes/Controllers/Export/Template/UpdateControllerTest.php
new file mode 100644
index 0000000000..1abb188fc4
--- /dev/null
+++ b/test/classes/Controllers/Export/Template/UpdateControllerTest.php
@@ -0,0 +1,47 @@
+<?php
+
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Tests\Controllers\Export\Template;
+
+use PhpMyAdmin\Controllers\Export\Template\UpdateController;
+use PhpMyAdmin\Export\TemplateModel;
+use PhpMyAdmin\Http\ServerRequest;
+use PhpMyAdmin\Relation;
+use PhpMyAdmin\Template;
+use PhpMyAdmin\Tests\AbstractTestCase;
+use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
+
+/**
+ * @covers \PhpMyAdmin\Controllers\Export\Template\UpdateController
+ */
+class UpdateControllerTest extends AbstractTestCase
+{
+ public function testUpdate(): void
+ {
+ global $cfg;
+
+ $GLOBALS['server'] = 1;
+ $GLOBALS['text_dir'] = 'ltr';
+ $GLOBALS['PMA_PHP_SELF'] = 'index.php';
+
+ $cfg['Server']['user'] = 'user';
+
+ $response = new ResponseRenderer();
+ $template = new Template();
+ $request = $this->createStub(ServerRequest::class);
+ $request->method('getParsedBodyParam')->willReturnMap([
+ ['templateId', null, '1'],
+ ['templateData', '', 'data'],
+ ]);
+
+ (new UpdateController(
+ $response,
+ $template,
+ new TemplateModel($this->dbi),
+ new Relation($this->dbi, $template)
+ ))($request);
+
+ $this->assertTrue($response->hasSuccessState());
+ }
+}
diff --git a/test/classes/Controllers/ExportTemplateControllerTest.php b/test/classes/Controllers/ExportTemplateControllerTest.php
deleted file mode 100644
index 16966ff2a9..0000000000
--- a/test/classes/Controllers/ExportTemplateControllerTest.php
+++ /dev/null
@@ -1,148 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace PhpMyAdmin\Tests\Controllers;
-
-use PhpMyAdmin\Controllers\ExportTemplateController;
-use PhpMyAdmin\Export\Template as ExportTemplate;
-use PhpMyAdmin\Export\TemplateModel;
-use PhpMyAdmin\Http\ServerRequest;
-use PhpMyAdmin\Relation;
-use PhpMyAdmin\Template;
-use PhpMyAdmin\Tests\AbstractTestCase;
-use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
-use PhpMyAdmin\Version;
-
-/**
- * @covers \PhpMyAdmin\Controllers\ExportTemplateController
- */
-class ExportTemplateControllerTest extends AbstractTestCase
-{
- /** @var ExportTemplateController */
- private $controller;
-
- /** @var ResponseRenderer */
- private $response;
-
- /** @var Template */
- private $template;
-
- protected function setUp(): void
- {
- parent::setUp();
- parent::setTheme();
-
- global $dbi;
-
- $GLOBALS['server'] = 1;
- $GLOBALS['text_dir'] = 'ltr';
- $GLOBALS['PMA_PHP_SELF'] = '';
-
- $_SESSION['relation'][$GLOBALS['server']] = [
- 'version' => Version::VERSION,
- 'exporttemplateswork' => true,
- 'trackingwork' => false,
- 'db' => 'db',
- 'export_templates' => 'table',
- ];
-
- $this->response = new ResponseRenderer();
- $this->template = new Template();
-
- $this->controller = new ExportTemplateController(
- $this->response,
- $this->template,
- new TemplateModel($dbi),
- new Relation($dbi, $this->template)
- );
- }
-
- public function testCreate(): void
- {
- global $cfg;
-
- $cfg['Server']['user'] = 'user';
-
- $request = $this->createStub(ServerRequest::class);
- $request->method('getParsedBodyParam')->willReturnMap([
- ['exportType', '', 'type'],
- ['templateName', '', 'name'],
- ['templateData', '', 'data'],
- ['template_id', null, null],
- ]);
-
- $this->controller->create($request);
-
- $templates = [
- ExportTemplate::fromArray([
- 'id' => 1,
- 'username' => 'user1',
- 'exportType' => 'type1',
- 'name' => 'name1',
- 'data' => 'data1',
- ]),
- ExportTemplate::fromArray([
- 'id' => 2,
- 'username' => 'user2',
- 'exportType' => 'type2',
- 'name' => 'name2',
- 'data' => 'data2',
- ]),
- ];
-
- $options = $this->template->render('export/template_options', [
- 'templates' => $templates,
- 'selected_template' => null,
- ]);
-
- $this->assertTrue($this->response->hasSuccessState());
- $this->assertEquals(['data' => $options], $this->response->getJSONResult());
- }
-
- public function testDelete(): void
- {
- global $cfg;
-
- $cfg['Server']['user'] = 'user';
-
- $request = $this->createStub(ServerRequest::class);
- $request->method('getParsedBodyParam')->willReturn('1');
-
- $this->controller->delete($request);
-
- $this->assertTrue($this->response->hasSuccessState());
- }
-
- public function testLoad(): void
- {
- global $cfg;
-
- $cfg['Server']['user'] = 'user';
-
- $request = $this->createStub(ServerRequest::class);
- $request->method('getParsedBodyParam')->willReturn('1');
-
- $this->controller->load($request);
-
- $this->assertTrue($this->response->hasSuccessState());
- $this->assertEquals(['data' => 'data1'], $this->response->getJSONResult());
- }
-
- public function testUpdate(): void
- {
- global $cfg;
-
- $cfg['Server']['user'] = 'user';
-
- $request = $this->createStub(ServerRequest::class);
- $request->method('getParsedBodyParam')->willReturnMap([
- ['templateId', null, '1'],
- ['templateData', '', 'data'],
- ]);
-
- $this->controller->update($request);
-
- $this->assertTrue($this->response->hasSuccessState());
- }
-}
diff --git a/test/classes/Controllers/TransformationOverviewControllerTest.php b/test/classes/Controllers/Transformation/OverviewControllerTest.php
index 1a30a4a326..ca879f9126 100644
--- a/test/classes/Controllers/TransformationOverviewControllerTest.php
+++ b/test/classes/Controllers/Transformation/OverviewControllerTest.php
@@ -2,9 +2,9 @@
declare(strict_types=1);
-namespace PhpMyAdmin\Tests\Controllers;
+namespace PhpMyAdmin\Tests\Controllers\Transformation;
-use PhpMyAdmin\Controllers\TransformationOverviewController;
+use PhpMyAdmin\Controllers\Transformation\OverviewController;
use PhpMyAdmin\Template;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
@@ -13,9 +13,9 @@ use PhpMyAdmin\Transformations;
use function __;
/**
- * @covers \PhpMyAdmin\Controllers\TransformationOverviewController
+ * @covers \PhpMyAdmin\Controllers\Transformation\OverviewController
*/
-class TransformationOverviewControllerTest extends AbstractTestCase
+class OverviewControllerTest extends AbstractTestCase
{
/**
* Prepares environment for the test.
@@ -37,7 +37,7 @@ class TransformationOverviewControllerTest extends AbstractTestCase
{
$response = new ResponseRenderer();
- $controller = new TransformationOverviewController($response, new Template(), new Transformations());
+ $controller = new OverviewController($response, new Template(), new Transformations());
$controller();
$actual = $response->getHTMLResult();