Merge pull request #18879 from MauricioFauth/column-controller-test
Add unit tests for ColumnController
This commit is contained in:
commit
aa9d2f5ebf
@ -863,11 +863,6 @@
|
||||
<code>Config::getInstance()</code>
|
||||
</DeprecatedMethod>
|
||||
</file>
|
||||
<file src="src/Controllers/ColumnController.php">
|
||||
<PossiblyUnusedMethod>
|
||||
<code>__construct</code>
|
||||
</PossiblyUnusedMethod>
|
||||
</file>
|
||||
<file src="src/Controllers/Config/GetConfigController.php">
|
||||
<PossiblyUnusedMethod>
|
||||
<code>__construct</code>
|
||||
|
||||
47
tests/classes/Controllers/ColumnControllerTest.php
Normal file
47
tests/classes/Controllers/ColumnControllerTest.php
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Tests\Controllers;
|
||||
|
||||
use PhpMyAdmin\Config;
|
||||
use PhpMyAdmin\Controllers\ColumnController;
|
||||
use PhpMyAdmin\Http\Factory\ServerRequestFactory;
|
||||
use PhpMyAdmin\Message;
|
||||
use PhpMyAdmin\Template;
|
||||
use PhpMyAdmin\Tests\AbstractTestCase;
|
||||
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
#[CoversClass(ColumnController::class)]
|
||||
final class ColumnControllerTest extends AbstractTestCase
|
||||
{
|
||||
public function testColumnController(): void
|
||||
{
|
||||
$request = ServerRequestFactory::create()->createServerRequest('GET', 'http://example.com/')
|
||||
->withParsedBody(['db' => 'test_db', 'table' => 'test_table']);
|
||||
|
||||
$dbi = $this->createDatabaseInterface();
|
||||
$responseRenderer = new ResponseRenderer();
|
||||
$controller = new ColumnController($responseRenderer, new Template(new Config()), $dbi);
|
||||
$controller($request);
|
||||
|
||||
self::assertTrue($responseRenderer->hasSuccessState());
|
||||
self::assertSame('', $responseRenderer->getHTMLResult());
|
||||
self::assertSame(['columns' => ['id', 'name', 'datetimefield']], $responseRenderer->getJSONResult());
|
||||
}
|
||||
|
||||
public function testWithMissingParameters(): void
|
||||
{
|
||||
$request = ServerRequestFactory::create()->createServerRequest('GET', 'http://example.com/');
|
||||
|
||||
$dbi = $this->createDatabaseInterface();
|
||||
$responseRenderer = new ResponseRenderer();
|
||||
$controller = new ColumnController($responseRenderer, new Template(new Config()), $dbi);
|
||||
$controller($request);
|
||||
|
||||
self::assertFalse($responseRenderer->hasSuccessState());
|
||||
self::assertSame('', $responseRenderer->getHTMLResult());
|
||||
self::assertSame(['message' => Message::error()->getDisplay()], $responseRenderer->getJSONResult());
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user