CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) 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 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
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import { afterEach, describe, expect, it } from "vitest";
|
|
import { mobileCaptureEnabled, pageToFile, type CapturedPage } from "./mobileCapture";
|
|
|
|
describe("mobileCaptureEnabled", () => {
|
|
const original = process.env.NEXARCH_MOBILE_CAPTURE_ENABLED;
|
|
afterEach(() => {
|
|
process.env.NEXARCH_MOBILE_CAPTURE_ENABLED = original;
|
|
});
|
|
|
|
// Akzeptanzkriterium 4: Standard ist AUS.
|
|
it("ist standardmaessig aus, wenn die Variable fehlt", () => {
|
|
delete process.env.NEXARCH_MOBILE_CAPTURE_ENABLED;
|
|
expect(mobileCaptureEnabled()).toBe(false);
|
|
});
|
|
|
|
it("ist aus bei jedem anderen Wert als 'true'", () => {
|
|
process.env.NEXARCH_MOBILE_CAPTURE_ENABLED = "1";
|
|
expect(mobileCaptureEnabled()).toBe(false);
|
|
});
|
|
|
|
it("ist an, wenn explizit auf 'true' gesetzt", () => {
|
|
process.env.NEXARCH_MOBILE_CAPTURE_ENABLED = "true";
|
|
expect(mobileCaptureEnabled()).toBe(true);
|
|
});
|
|
});
|
|
|
|
describe("pageToFile", () => {
|
|
it("erzeugt eine benannte JPEG-Datei mit fortlaufendem Index", () => {
|
|
const page: CapturedPage = { id: "seite-1", blob: new Blob(["x"], { type: "image/jpeg" }), previewUrl: "blob:x" };
|
|
const file = pageToFile(page, 2);
|
|
expect(file.name).toBe("kassenbeleg-3.jpg");
|
|
expect(file.type).toBe("image/jpeg");
|
|
});
|
|
});
|