feat: declarative and operation-based menu item editing

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
This commit is contained in:
2026-09-26 00:14:25 +02:00
co-authored by Claude Opus 5.5
parent 954f683dd2
commit f80cfb9e44
11 changed files with 1357 additions and 9 deletions
+17
View File
@@ -29,4 +29,21 @@ final class WriteFailedTest extends TestCase
self::assertSame(5, $error->get_error_data()['post_id']);
self::assertSame(811, $error->get_error_data()['revision_id']);
}
public function testIncompleteRollbackCanDescribeItsOwnStateHintAndDetails(): void
{
$error = (new WriteFailed(
'Menü nicht gespeichert.',
false,
state: 'Das Menü ist teilweise geändert.',
hint: 'Mit lit-menu-get prüfen.',
details: ['menu_id' => 3]
))->toError();
self::assertSame('lit_partial_write', $error->get_error_code());
self::assertStringContainsString('Das Menü ist teilweise geändert.', $error->get_error_message());
self::assertStringNotContainsString('Entwurf', $error->get_error_message());
self::assertSame('Mit lit-menu-get prüfen.', $error->get_error_data()['hint']);
self::assertSame(3, $error->get_error_data()['menu_id']);
}
}