phpmyadmin/tests/unit/Display/DisplayPartsTest.php
Maurício Meneghini Fauth 081d6c13d0
Merge branch 'QA_5_2'
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2024-12-25 12:37:15 -03:00

73 lines
2.8 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpMyAdmin\Tests\Display;
use PhpMyAdmin\Display\DeleteLinkEnum;
use PhpMyAdmin\Display\DisplayParts;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\TestCase;
#[CoversClass(DisplayParts::class)]
class DisplayPartsTest extends TestCase
{
public function testFromArray(): void
{
$displayParts = DisplayParts::fromArray([
'hasEditLink' => true,
'deleteLink' => DeleteLinkEnum::DELETE_ROW,
'hasSortLink' => true,
'hasNavigationBar' => true,
'hasBookmarkForm' => true,
'hasTextButton' => true,
'hasPrintLink' => true,
]);
self::assertTrue($displayParts->hasEditLink);
self::assertSame(DeleteLinkEnum::DELETE_ROW, $displayParts->deleteLink);
self::assertTrue($displayParts->hasSortLink);
self::assertTrue($displayParts->hasNavigationBar);
self::assertTrue($displayParts->hasBookmarkForm);
self::assertTrue($displayParts->hasTextButton);
self::assertTrue($displayParts->hasPrintLink);
}
public function testWith(): void
{
$displayParts = DisplayParts::fromArray([]);
self::assertFalse($displayParts->hasEditLink);
self::assertSame(DeleteLinkEnum::NO_DELETE, $displayParts->deleteLink);
self::assertFalse($displayParts->hasSortLink);
self::assertFalse($displayParts->hasNavigationBar);
self::assertFalse($displayParts->hasBookmarkForm);
self::assertFalse($displayParts->hasTextButton);
self::assertFalse($displayParts->hasPrintLink);
$displayParts = $displayParts->with([
'hasEditLink' => true,
'deleteLink' => DeleteLinkEnum::KILL_PROCESS,
'hasSortLink' => true,
'hasNavigationBar' => true,
'hasBookmarkForm' => true,
'hasTextButton' => true,
'hasPrintLink' => true,
]);
self::assertTrue($displayParts->hasEditLink);
self::assertSame(DeleteLinkEnum::KILL_PROCESS, $displayParts->deleteLink);
self::assertTrue($displayParts->hasSortLink);
self::assertTrue($displayParts->hasNavigationBar);
self::assertTrue($displayParts->hasBookmarkForm);
self::assertTrue($displayParts->hasTextButton);
self::assertTrue($displayParts->hasPrintLink);
$displayParts = $displayParts->with([]);
self::assertTrue($displayParts->hasEditLink);
self::assertSame(DeleteLinkEnum::KILL_PROCESS, $displayParts->deleteLink);
self::assertTrue($displayParts->hasSortLink);
self::assertTrue($displayParts->hasNavigationBar);
self::assertTrue($displayParts->hasBookmarkForm);
self::assertTrue($displayParts->hasTextButton);
self::assertTrue($displayParts->hasPrintLink);
}
}