Files
WP-LIT-MCP/tests/Unit/Integrations/Divi/Design/DetachTargetTest.php
T

46 lines
1.6 KiB
PHP

<?php
declare(strict_types=1);
namespace LIT\MCP\Tests\Unit\Integrations\Divi\Design;
use LIT\MCP\Integrations\Divi\Design\DetachRewrite;
use LIT\MCP\Integrations\Divi\Design\DetachTarget;
use LIT\MCP\Integrations\Divi\Design\NodeRewrite;
use LIT\MCP\Integrations\Divi\Design\PresetScope;
use LIT\MCP\Integrations\Divi\Design\PresetUsageQuery;
use PHPUnit\Framework\TestCase;
final class DetachTargetTest extends TestCase
{
/** @param list<int>|null $postIds */
private static function target(?array $postIds): DetachTarget
{
$scope = new PresetScope('module', 'divi/button');
return new DetachTarget(
'Modul-Preset divi/button „CTA primär“',
$postIds,
new PresetUsageQuery([['scope' => $scope, 'id' => 'aaaaaaaaaa', 'default' => false]]),
static fn (): NodeRewrite => new DetachRewrite($scope, 'aaaaaaaaaa'),
null,
'anderen Presets',
[],
'Jetzt kann lit/divi-presets-delete das Preset löschen.'
);
}
public function testTheChangeNamesTheSubject(): void
{
self::assertSame('Entkoppeln von Modul-Preset divi/button „CTA primär“', self::target(null)->change());
}
public function testFinishedOnlyWithoutPostIdsSkippedOrHiddenUsages(): void
{
self::assertTrue(self::target(null)->finished([], 0));
self::assertFalse(self::target([12])->finished([], 0), 'post_ids leave other usages');
self::assertFalse(self::target(null)->finished([['post_id' => 12, 'reason' => 'x']], 0));
self::assertFalse(self::target(null)->finished([], 3));
}
}