phpmyadmin/tests/unit/Config/UserPreferencesHandlerTest.php
Kamil Tekiela 90a5c4ca78
Expand Config::set()
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2026-02-03 09:59:14 -03:00

53 lines
1.9 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpMyAdmin\Tests\Config;
use PhpMyAdmin\Clock\Clock;
use PhpMyAdmin\Config;
use PhpMyAdmin\Config\UserPreferences;
use PhpMyAdmin\Config\UserPreferencesHandler;
use PhpMyAdmin\ConfigStorage\Relation;
use PhpMyAdmin\I18n\LanguageManager;
use PhpMyAdmin\Template;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Theme\ThemeManager;
use PHPUnit\Framework\Attributes\CoversClass;
#[CoversClass(UserPreferencesHandler::class)]
final class UserPreferencesHandlerTest extends AbstractTestCase
{
public function testSetUserValue(): void
{
$config = new Config();
$dbi = $this->createDatabaseInterface();
$userPreferencesHandler = new UserPreferencesHandler(
$config,
$dbi,
new UserPreferences($dbi, new Relation($dbi, $config), new Template($config), $config, new Clock()),
new LanguageManager($config),
new ThemeManager(),
);
$userPreferencesHandler->setUserValue(null, 'Lang', 'cs', 'en');
$userPreferencesHandler->setUserValue('TEST_COOKIE_USER_VAL', 'Servers/1/hide_db', 'cfg_val_1');
self::assertSame('cfg_val_1', $userPreferencesHandler->getUserValue('TEST_COOKIE_USER_VAL', 'fail'));
$userPreferencesHandler->setUserValue(null, 'NavigationWidth', 300);
self::assertSame(300, $config->settings['NavigationWidth']);
}
public function testGetUserValue(): void
{
$config = new Config();
$dbi = $this->createDatabaseInterface();
$userPreferencesHandler = new UserPreferencesHandler(
$config,
$dbi,
new UserPreferences($dbi, new Relation($dbi, $config), new Template($config), $config, new Clock()),
new LanguageManager($config),
new ThemeManager(),
);
self::assertSame('val', $userPreferencesHandler->getUserValue('test_val', 'val'));
}
}