import { describe, it, expect } from "vitest"; import { brigadeProvisionSchema } from "./brigade"; const valid = { name: "FF Musterdorf", strasse: "Hauptstraße 1", plz: "3100", ort: "St. Pölten", telefon: "+43 2742 12345", adminEmail: "admin@ff-musterdorf.at", adminName: "Max Muster", }; describe("brigadeProvisionSchema", () => { it("akzeptiert gültige Bereitstellungsdaten", () => { expect(brigadeProvisionSchema.safeParse(valid).success).toBe(true); }); it("verlangt einen Wehr-Namen", () => { expect( brigadeProvisionSchema.safeParse({ ...valid, name: "" }).success, ).toBe(false); }); it("normalisiert die Admin-E-Mail auf Kleinbuchstaben", () => { const r = brigadeProvisionSchema.parse({ ...valid, adminEmail: "ADMIN@FF.AT", }); expect(r.adminEmail).toBe("admin@ff.at"); }); it("lehnt ungültige E-Mail ab", () => { expect( brigadeProvisionSchema.safeParse({ ...valid, adminEmail: "keine-mail" }) .success, ).toBe(false); }); it("optionale Felder dürfen fehlen", () => { const { email, wehrfuehrer, ...rest } = { ...valid, email: undefined, wehrfuehrer: undefined, }; void email; void wehrfuehrer; expect(brigadeProvisionSchema.safeParse(rest).success).toBe(true); }); });