fix: detach meldet nicht „alles erledigt“, solange nicht lesbare Fundstellen Verweise enthalten können; PageRewriter::apply liefert hidden_count; Tests für Sperre durch nicht lesbare Seiten und post_ids über der Obergrenze

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Jan-Niclas Loosen
2026-10-18 17:38:01 +02:00
co-authored by Claude Sonnet 5.5
parent b805ed64dd
commit 06398242d6
7 changed files with 132 additions and 11 deletions
@@ -303,6 +303,36 @@ final class DiviDesignDetachAbilityTest extends TestCase
);
}
public function testUnreadablePostsKeepTheDeleteHintBack(): void
{
$pages = Mockery::mock(PageRewriter::class);
$pages->expects('apply')->andReturn(PageRewriteReportTest::applied(1, 0, [], 3));
$result = $this->ability($pages)->execute([
'preset' => ['module' => 'button', 'preset' => 'CTA primär'],
'confirm' => true,
]);
self::assertStringNotContainsString('lit/divi-presets-delete', $result['summary']);
self::assertStringNotContainsString('erledigt', $result['summary']);
self::assertStringContainsString('3 für diesen Zugang nicht sichtbare Fundstellen', $result['summary']);
self::assertSame(3, $result['hidden_count']);
}
public function testNoUnreadablePostsKeepTheDeleteHint(): void
{
$pages = Mockery::mock(PageRewriter::class);
$pages->expects('apply')->andReturn(PageRewriteReportTest::applied(1, 0));
$result = $this->ability($pages)->execute([
'preset' => ['module' => 'button', 'preset' => 'CTA primär'],
'confirm' => true,
]);
self::assertStringContainsString('lit/divi-presets-delete', $result['summary']);
self::assertStringNotContainsString('nicht sichtbare', $result['summary']);
}
public function testRemainingPagesAskForAnotherCallWithoutTheDeleteHint(): void
{
$pages = Mockery::mock(PageRewriter::class);