|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)); } }