diff options
author | Maurício Meneghini Fauth <mauricio@fauth.dev> | 2021-09-07 00:30:21 +0300 |
---|---|---|
committer | Maurício Meneghini Fauth <mauricio@fauth.dev> | 2021-09-07 00:30:21 +0300 |
commit | 96adfe37f4d4934e5c2d73ea18baf57d7f0c8483 (patch) | |
tree | 971147205a389f70d2558b18a21305377d0240f2 /test | |
parent | 322dc72621e561bcd2f6a51e9a4474e5a860dca6 (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.php | 82 | ||||
-rw-r--r-- | test/classes/Controllers/Export/Template/DeleteControllerTest.php | 44 | ||||
-rw-r--r-- | test/classes/Controllers/Export/Template/LoadControllerTest.php | 54 | ||||
-rw-r--r-- | test/classes/Controllers/Export/Template/UpdateControllerTest.php | 47 | ||||
-rw-r--r-- | test/classes/Controllers/ExportTemplateControllerTest.php | 148 | ||||
-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(); |