Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
46 lines
1.6 KiB
PHP
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));
|
|
}
|
|
}
|