1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
declare(strict_types=1); |
4
|
|
|
|
5
|
|
|
namespace PhpMyAdmin\Tests\Controllers\Database\Structure; |
6
|
|
|
|
7
|
|
|
use Fig\Http\Message\StatusCodeInterface; |
8
|
|
|
use PhpMyAdmin\Controllers\Database\Structure\ChangePrefixFormController; |
9
|
|
|
use PhpMyAdmin\Current; |
10
|
|
|
use PhpMyAdmin\Http\Factory\ResponseFactory; |
11
|
|
|
use PhpMyAdmin\Http\Factory\ServerRequestFactory; |
12
|
|
|
use PhpMyAdmin\Template; |
13
|
|
|
use PhpMyAdmin\Tests\AbstractTestCase; |
14
|
|
|
use PhpMyAdmin\Tests\Stubs\ResponseRenderer; |
15
|
|
|
use PHPUnit\Framework\Attributes\CoversClass; |
16
|
|
|
|
17
|
|
|
#[CoversClass(ChangePrefixFormController::class)] |
18
|
|
|
final class ChangePrefixFormControllerTest extends AbstractTestCase |
19
|
|
|
{ |
20
|
|
|
public function testChangePrefixModal(): void |
21
|
|
|
{ |
22
|
|
|
Current::$database = 'test_db'; |
23
|
|
|
|
24
|
|
|
$request = ServerRequestFactory::create()->createServerRequest('POST', 'http://example.com/') |
25
|
|
|
->withQueryParams(['db' => 'test_db']) |
26
|
|
|
->withParsedBody(['selected_tbl' => ['test_table']]); |
27
|
|
|
|
28
|
|
|
$template = new Template(); |
29
|
|
|
$controller = new ChangePrefixFormController(new ResponseRenderer(), ResponseFactory::create(), $template); |
30
|
|
|
$response = $controller($request); |
31
|
|
|
|
32
|
|
|
$expected = $template->render('database/structure/change_prefix_form', [ |
33
|
|
|
'route' => '/database/structure/replace-prefix', |
34
|
|
|
'url_params' => ['db' => 'test_db', 'selected' => ['test_table']], |
35
|
|
|
]); |
36
|
|
|
|
37
|
|
|
self::assertNotNull($response); |
38
|
|
|
self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); |
39
|
|
|
self::assertSame(['text/html; charset=utf-8'], $response->getHeader('Content-Type')); |
40
|
|
|
self::assertSame($expected, (string) $response->getBody()); |
41
|
|
|
} |
42
|
|
|
} |
43
|
|
|
|