From bd3c1ced1d7aaecd701d8d72cdb6bf9365679a97 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sun, 31 May 2026 12:58:38 +0200 Subject: [PATCH] test(document): run OCR-status page tests as a writer (#697) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The OCR status check is now gated behind canWrite (readers do no write-path work), so the two OCR-status page tests must render as a writer — OCR is a writer action. Without canWrite the status check never fires and the "OCR läuft" spinner never mounts. Fixes the CI regression introduced by confining read-only users to the read view. Co-Authored-By: Claude Opus 4.8 --- frontend/src/routes/documents/[id]/page.svelte.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/routes/documents/[id]/page.svelte.test.ts b/frontend/src/routes/documents/[id]/page.svelte.test.ts index d3ee08f0..c34b26f5 100644 --- a/frontend/src/routes/documents/[id]/page.svelte.test.ts +++ b/frontend/src/routes/documents/[id]/page.svelte.test.ts @@ -360,7 +360,7 @@ describe('documents/[id] page', () => { try { mockPage.url = new URL('http://localhost/documents/d-ocr-fail?task=transcribe'); render(DocumentDetailPage, { - props: { data: baseData({ document: { ...baseDoc, id: 'd-ocr-fail' } }) } + props: { data: baseData({ canWrite: true, document: { ...baseDoc, id: 'd-ocr-fail' } }) } }); await vi.waitFor(() => { expect(document.querySelector('[data-testid="panel-close"]')).not.toBeNull(); @@ -391,7 +391,7 @@ describe('documents/[id] page', () => { try { mockPage.url = new URL('http://localhost/documents/d-ocr-run?task=transcribe'); render(DocumentDetailPage, { - props: { data: baseData({ document: { ...baseDoc, id: 'd-ocr-run' } }) } + props: { data: baseData({ canWrite: true, document: { ...baseDoc, id: 'd-ocr-run' } }) } }); await expect.element(browserPage.getByText('OCR läuft')).toBeVisible(); } finally {