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
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:
1 parent
997357a084
commit
7a6022920c
2 files changed
+8
-10
No files matched your search
@@ -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.
|
||||
|
||||
@@ -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"
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user