Files
patrickandClaude Sonnet 5 b44c2df15f
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
INT-01: rest-api v1 mit core-jwt-identitaet, openapi und einheitlichem fehlerformat
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-20 23:25:59 +02:00

23 lines
875 B
TypeScript

import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { completeUpload } from "./api";
describe("api-Fehlermeldungen", () => {
beforeEach(() => {
process.env.NEXT_PUBLIC_UPLOAD_API_URL = "http://backend.test";
});
afterEach(() => {
vi.unstubAllGlobals();
});
it("nutzt die Meldung aus dem Core-Fehlerformat", async () => {
const body = JSON.stringify({ error: { code: "conflict", message: "duplikat erkannt" } });
vi.stubGlobal("fetch", vi.fn().mockResolvedValue(new Response(body, { status: 409 })));
await expect(completeUpload("s1")).rejects.toThrow("duplikat erkannt");
});
it("faellt bei Klartext auf den Text zurueck", async () => {
vi.stubGlobal("fetch", vi.fn().mockResolvedValue(new Response("kaputt", { status: 500 })));
await expect(completeUpload("s1")).rejects.toThrow("kaputt");
});
});