Completed
Push — master ( 6731b8...7ba6d9 )
by Maurício
02:07 queued 28s
created

ChangePrefixFormControllerTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 16
dl 0
loc 24
rs 10
c 1
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A testChangePrefixModal() 0 21 1
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