phpmyadmin/tests/unit/Config/UserPreferencesHandlerTest.php
Kamil Tekiela e578b8729d Create updateConfigValue()
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2026-02-20 19:05:07 +00:00

66 lines
2.3 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('Lang', 'cs', 'en');
$userPreferencesHandler->setUserValue('Servers/1/hide_db', 'cfg_val_1', cookieName: 'TEST_COOKIE_USER_VAL');
self::assertSame('cfg_val_1', $userPreferencesHandler->getUserValue('TEST_COOKIE_USER_VAL', 'fail'));
}
public function testUpdateConfigValue(): 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->updateConfigValue('NavigationWidth', 300);
self::assertSame(300, $config->config->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'));
}
}