fix(verwaltung): BLOCKING-Befunde Fuhrpark & Benutzer beheben
- tests/e2e/verwaltung-fuhrpark.spec.ts: selectOption({ label: /HLF 2/ })
uebergab eine RegExp an Playwrights string-typisierte label-Option
(TS2345 -> tsc-Gate rot). Stattdessen erste echte Vorlage per
{ index: 1 } waehlen (Index 0 ist "Ohne Vorlage (frei)"). tsc clean.
- src/lib/validation/vehicle.ts: Pflichtmerkmale wurden nur pro Element
geprueft; ein komplett ausgelassenes Pflichtmerkmal (z.B. []) entging
der Validierung. buildMerkmalValuesSchema prueft jetzt auf Array-Ebene
per superRefine, dass jede pflicht-Definition einen gesetzten,
typgerechten, nicht-leeren Wert hat ("validieren, nicht vertrauen",
Querschnittsstandard 4). Tests ergaenzt (TDD).
- src/server/actions/brigade.ts: bei fehlgeschlagenem Geocoding
(geo.status !== "ok") werden lat/lng nun auf null gesetzt, analog zu
createBrigadeWithFirstAdmin, damit keine veralteten Koordinaten
zuruechbleiben (WS4-Konsistenz).
Verifikation offline: tsc --noEmit exit 0; vitest src/lib/validation
47/47 gruen. E2E (DB/Server) deferred (kein Postgres/Server im Sandbox).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -22,7 +22,8 @@ test.describe("Verwaltung: Fuhrpark & Benutzer (Happy-Path)", () => {
|
||||
page,
|
||||
}) => {
|
||||
await page.goto("/verwaltung/fahrzeuge/neu");
|
||||
await page.getByLabel("Fahrzeug-Vorlage").selectOption({ label: /HLF 2/ });
|
||||
// Erste echte Vorlage wählen (Index 0 ist „Ohne Vorlage (frei)").
|
||||
await page.getByLabel("Fahrzeug-Vorlage").selectOption({ index: 1 });
|
||||
// Vorlagen-Merkmale werden nachgeladen (Löschwassertank, Feuerlöschpumpe …).
|
||||
await expect(page.getByText("Löschwassertank")).toBeVisible();
|
||||
await page.getByLabel("Name").fill("HLF 2 Musterdorf");
|
||||
|
||||
Reference in New Issue
Block a user