UX-10: Bestandstests an Header-Abruf statt Link angepasst
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
patrickandClaude Sonnet 5 committed 2026-09-22 01:07:36 +02:00
1 parent 997357a084
commit 7a6022920c
2 files changed
+8 -10

No files matched your search

+7 -9
View File
@@ -34,22 +34,20 @@ it("sendet Akteur- und Aktion-Filter bei der Suche", async () => {
// Akzeptanzkriterium 2: Export enthaelt dieselben Filter wie die aktuell
// eingegebene Suche.
it("der Export uebernimmt die aktuell eingegebenen Filter", () => {
vi.stubGlobal("fetch", vi.fn());
const originalLocation = window.location;
// @ts-expect-error - jsdom-location fuer den Test ersetzen
delete window.location;
window.location = { href: "" } as unknown as Location;
it("der Export uebernimmt die aktuell eingegebenen Filter", async () => {
// UX-10: kein Link mehr, sondern ein Abruf per fetch (im Token-Modus mit Bearer-Header).
const fetchMock = vi.fn().mockResolvedValue(new Response("csv", { status: 200 }));
vi.stubGlobal("fetch", fetchMock);
vi.stubGlobal("URL", Object.assign(URL, { createObjectURL: vi.fn(() => "blob:x"), revokeObjectURL: vi.fn() }));
render(<I18nProvider initialLocale="de"><AuditLogPage /></I18nProvider>);
fireEvent.change(screen.getByLabelText("Akteur"), { target: { value: "user-a" } });
fireEvent.click(screen.getByRole("button", { name: "Als CSV exportieren" }));
const url = new URL(window.location.href);
await waitFor(() => expect(fetchMock).toHaveBeenCalled());
const url = new URL(String(fetchMock.mock.calls[0][0]));
expect(url.searchParams.get("actor")).toBe("user-a");
expect(url.pathname).toBe("/audit-log/export");
window.location = originalLocation;
});
// Akzeptanzkriterium 3: fehlende Berechtigung zeigt eine klare Meldung.
+1 -1
View File
@@ -18,7 +18,7 @@ describe("diffApi", () => {
vi.stubGlobal("fetch", fetchMock);
await fetchDiff("doc-1", "rev-a", "rev-b");
expect(fetchMock.mock.calls[0][0]).toBe(
"http://backend.test/documents/doc-1/diff?caller=user-a&from=rev-a&to=rev-b"
"http://backend.test/documents/doc-1/diff?from=rev-a&to=rev-b&caller=user-a"
);
});