diff options
author | Maurício Meneghini Fauth <mauricio@fauth.dev> | 2022-07-28 17:56:27 +0300 |
---|---|---|
committer | Maurício Meneghini Fauth <mauricio@fauth.dev> | 2022-07-28 17:56:27 +0300 |
commit | 9c9ae5069e8bda601b8fe6eabd1f7b93b2810599 (patch) | |
tree | e212dfa393bfe4e59126f0c5002be2abee96742c /test | |
parent | 3c618c22a9a717212742dd9a6d01d5277f3ba5b1 (diff) |
Extract HTML from Normalization::getHtmlForNormalizeTable method
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
Diffstat (limited to 'test')
-rw-r--r-- | test/classes/Controllers/NormalizationControllerTest.php | 45 | ||||
-rw-r--r-- | test/classes/NormalizationTest.php | 20 |
2 files changed, 45 insertions, 20 deletions
diff --git a/test/classes/Controllers/NormalizationControllerTest.php b/test/classes/Controllers/NormalizationControllerTest.php index 1000ecb90a..91630a026f 100644 --- a/test/classes/Controllers/NormalizationControllerTest.php +++ b/test/classes/Controllers/NormalizationControllerTest.php @@ -4,12 +4,18 @@ declare(strict_types=1); namespace PhpMyAdmin\Tests\Controllers; +use PhpMyAdmin\ConfigStorage\Relation; use PhpMyAdmin\Controllers\NormalizationController; use PhpMyAdmin\DatabaseInterface; use PhpMyAdmin\Http\ServerRequest; +use PhpMyAdmin\Normalization; +use PhpMyAdmin\Template; use PhpMyAdmin\Tests\AbstractTestCase; use PhpMyAdmin\Tests\Stubs\DbiDummy; +use PhpMyAdmin\Tests\Stubs\ResponseRenderer; +use PhpMyAdmin\Transformations; +use function in_array; use function json_encode; /** @@ -204,4 +210,43 @@ class NormalizationControllerTest extends AbstractTestCase $this->getResponseJsonResult() ); } + + public function testNormalization(): void + { + $GLOBALS['db'] = 'test_db'; + $GLOBALS['table'] = 'test_table'; + $dbi = $this->createDatabaseInterface(); + $response = new ResponseRenderer(); + $template = new Template(); + + $controller = new NormalizationController( + $response, + $template, + new Normalization($dbi, new Relation($dbi), new Transformations(), $template) + ); + $controller($this->createStub(ServerRequest::class)); + + $files = $response->getHeader()->getScripts()->getFiles(); + $this->assertTrue( + in_array(['name' => 'normalization.js', 'fire' => 1], $files, true), + 'normalization.js script was not included in the response.' + ); + $this->assertTrue( + in_array(['name' => 'vendor/jquery/jquery.uitablefilter.js', 'fire' => 0], $files, true), + 'vendor/jquery/jquery.uitablefilter.js script was not included in the response.' + ); + + $output = $response->getHTMLResult(); + $this->assertStringContainsString( + '<form method="post" action="index.php?route=/normalization&lang=en" name="normalize" id="normalizeTable"', + $output + ); + $this->assertStringContainsString('<input type="hidden" name="db" value="test_db">', $output); + $this->assertStringContainsString('<input type="hidden" name="table" value="test_table">', $output); + $this->assertStringContainsString('<input type="hidden" name="step1" value="1">', $output); + $this->assertStringContainsString('type="radio" name="normalizeTo"', $output); + $this->assertStringContainsString('id="normalizeToRadio1" value="1nf" checked>', $output); + $this->assertStringContainsString('id="normalizeToRadio2" value="2nf">', $output); + $this->assertStringContainsString('id="normalizeToRadio3" value="3nf">', $output); + } } diff --git a/test/classes/NormalizationTest.php b/test/classes/NormalizationTest.php index 234352301b..120e6e8226 100644 --- a/test/classes/NormalizationTest.php +++ b/test/classes/NormalizationTest.php @@ -12,7 +12,6 @@ use PhpMyAdmin\Template; use PhpMyAdmin\Tests\Stubs\DbiDummy; use PhpMyAdmin\Transformations; use PhpMyAdmin\Types; -use PhpMyAdmin\Url; use stdClass; use function __; @@ -455,25 +454,6 @@ class NormalizationTest extends AbstractTestCase } /** - * Test for getHtmlForNormalizeTable - */ - public function testgetHtmlForNormalizeTable(): void - { - $result = $this->normalization->getHtmlForNormalizeTable(); - $this->assertStringContainsString( - '<form method="post" action="' . Url::getFromRoute('/normalization') - . '" name="normalize" id="normalizeTable"', - $result - ); - $this->assertStringContainsString('<input type="hidden" name="step1" value="1">', $result); - - $this->assertStringContainsString('type="radio" name="normalizeTo"', $result); - $this->assertStringContainsString('id="normalizeToRadio1" value="1nf" checked>', $result); - $this->assertStringContainsString('id="normalizeToRadio2" value="2nf">', $result); - $this->assertStringContainsString('id="normalizeToRadio3" value="3nf">', $result); - } - - /** * Test for findPartialDependencies */ public function testFindPartialDependencies(): void |