phpmyadmin/tests/unit/Config/Settings/SqlQueryBoxTest.php
Maurício Meneghini Fauth 606f66b5df
Rename tests/classes to tests/unit
This directory is for unit tests only, so let's rename it to unit to be
more clear.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2024-02-23 13:29:07 -03:00

64 lines
2.5 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpMyAdmin\Tests\Config\Settings;
use PhpMyAdmin\Config\Settings\SqlQueryBox;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
#[CoversClass(SqlQueryBox::class)]
class SqlQueryBoxTest extends TestCase
{
#[DataProvider('booleanWithDefaultTrueProvider')]
public function testEdit(mixed $actual, bool $expected): void
{
$sqlQueryBox = new SqlQueryBox(['Edit' => $actual]);
$sqlQueryBoxArray = $sqlQueryBox->asArray();
// phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
self::assertSame($expected, $sqlQueryBox->Edit);
self::assertSame($expected, $sqlQueryBoxArray['Edit']);
}
#[DataProvider('booleanWithDefaultTrueProvider')]
public function testExplain(mixed $actual, bool $expected): void
{
$sqlQueryBox = new SqlQueryBox(['Explain' => $actual]);
$sqlQueryBoxArray = $sqlQueryBox->asArray();
// phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
self::assertSame($expected, $sqlQueryBox->Explain);
self::assertSame($expected, $sqlQueryBoxArray['Explain']);
}
#[DataProvider('booleanWithDefaultTrueProvider')]
public function testShowAsPHP(mixed $actual, bool $expected): void
{
$sqlQueryBox = new SqlQueryBox(['ShowAsPHP' => $actual]);
$sqlQueryBoxArray = $sqlQueryBox->asArray();
// phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
self::assertSame($expected, $sqlQueryBox->ShowAsPHP);
self::assertSame($expected, $sqlQueryBoxArray['ShowAsPHP']);
}
#[DataProvider('booleanWithDefaultTrueProvider')]
public function testRefresh(mixed $actual, bool $expected): void
{
$sqlQueryBox = new SqlQueryBox(['Refresh' => $actual]);
$sqlQueryBoxArray = $sqlQueryBox->asArray();
// phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
self::assertSame($expected, $sqlQueryBox->Refresh);
self::assertSame($expected, $sqlQueryBoxArray['Refresh']);
}
/** @return iterable<string, array{mixed, bool}> */
public static function booleanWithDefaultTrueProvider(): iterable
{
yield 'null value' => [null, true];
yield 'valid value' => [true, true];
yield 'valid value 2' => [false, false];
yield 'valid value with type coercion' => [0, false];
}
}