Files
nexarch/web/dms-browser/lib/api.test.ts
patrickandClaude Sonnet 5 cd85668e39
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-15: Ordnerinhalte nur fuer den Eigentuemer der Dokumente (REST und CMIS)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-21 00:23:01 +02:00

37 lines
1.4 KiB
TypeScript

import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { fetchChildren, fetchDocuments } from "./api";
const ORIGINAL_ENV = process.env;
beforeEach(() => {
process.env = { ...ORIGINAL_ENV, NEXT_PUBLIC_FOLDER_API_URL: "http://backend.test", NEXT_PUBLIC_USER_ID: "u1" };
});
afterEach(() => {
process.env = ORIGINAL_ENV;
vi.restoreAllMocks();
});
describe("api client", () => {
it("fetchChildren(null) ruft den Wurzel-Endpunkt auf", async () => {
const fetchMock = vi.fn().mockResolvedValue(new Response("[]", { status: 200 }));
vi.stubGlobal("fetch", fetchMock);
await fetchChildren(null);
expect(fetchMock.mock.calls[0][0]).toBe("http://backend.test/folders/children");
});
it("fetchChildren(id) ruft den ordnerspezifischen Endpunkt auf", async () => {
const fetchMock = vi.fn().mockResolvedValue(new Response("[]", { status: 200 }));
vi.stubGlobal("fetch", fetchMock);
await fetchChildren("abc");
expect(fetchMock.mock.calls[0][0]).toBe("http://backend.test/folders/abc/children");
});
it("fetchDocuments gibt Sortierparameter weiter", async () => {
const fetchMock = vi.fn().mockResolvedValue(new Response("[]", { status: 200 }));
vi.stubGlobal("fetch", fetchMock);
await fetchDocuments("abc", { sort: "title", order: "desc" });
expect(fetchMock.mock.calls[0][0]).toBe("http://backend.test/folders/abc/documents?sort=title&order=desc&caller=u1");
});
});