1
0
mirror of https://github.com/phpmyadmin/phpmyadmin.git synced 2026-10-25 06:39:48 +03:00
Files
phpmyadmin/tests/unit/Http/Middleware/RecentTableHandlingTest.php
Liviu-Mihail Concioiu b4cdcbf820 Fix PHPUnit deprecations
Signed-off-by: Liviu-Mihail Concioiu <liviu.concioiu@gmail.com>
2026-08-01 07:54:59 +02:00

59 lines
2.2 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpMyAdmin\Tests\Http\Middleware;
use PhpMyAdmin\Config;
use PhpMyAdmin\Dbal\DatabaseInterface;
use PhpMyAdmin\Favorites\RecentFavoriteTable;
use PhpMyAdmin\Favorites\RecentFavoriteTables;
use PhpMyAdmin\Favorites\TableType;
use PhpMyAdmin\Http\Factory\ResponseFactory;
use PhpMyAdmin\Http\Factory\ServerRequestFactory;
use PhpMyAdmin\Http\Middleware\RecentTableHandling;
use PhpMyAdmin\Identifiers\DatabaseName;
use PhpMyAdmin\Identifiers\TableName;
use PhpMyAdmin\Tests\AbstractTestCase;
use PHPUnit\Framework\Attributes\CoversClass;
use Psr\Http\Server\RequestHandlerInterface;
use ReflectionProperty;
#[CoversClass(RecentTableHandling::class)]
final class RecentTableHandlingTest extends AbstractTestCase
{
public function testProcess(): void
{
$dbiDummy = $this->createDbiDummy();
DatabaseInterface::$instance = $this->createDatabaseInterface($dbiDummy);
$dbiDummy->addResult('SELECT 1 FROM `test_db`.`test_table` LIMIT 1;', [['1']]);
$config = new Config();
$request = ServerRequestFactory::create()->createServerRequest('GET', 'https://example.com/')
->withQueryParams(['db' => 'test_db', 'table' => 'test_table']);
$response = ResponseFactory::create()->createResponse();
$handler = $this->createMock(RequestHandlerInterface::class);
$handler->expects(self::once())->method('handle')->with($request)->willReturn($response);
$reflectionProperty = new ReflectionProperty(RecentFavoriteTables::class, 'instances');
$reflectionProperty->setValue(null, []);
$recentTables = RecentFavoriteTables::getInstance(TableType::Recent);
self::assertSame([], $recentTables->getTables());
$actualResponse = (new RecentTableHandling($config))->process($request, $handler);
self::assertSame($response, $actualResponse);
self::assertSame('', (string) $actualResponse->getBody());
self::assertEquals(
[new RecentFavoriteTable(DatabaseName::from('test_db'), TableName::from('test_table'))],
$recentTables->getTables(),
);
$dbiDummy->assertAllQueriesConsumed();
$reflectionProperty->setValue(null, []);
}
}