import { test, expect } from "@playwright/test"; /** * Admin-Bereitstellung: Wehr anlegen (Workstream 6). * * NICHT in der Sandbox ausführbar (kein Server/DB) — deferred. Erwartet einen * platform_admin-storageState (Test-Workstream-Fixture) sowie ein erreichbares * Nominatim für die Geokodierung (sonst „nicht geokodiert"-Hinweis). * * Verifiziert (Plan WS6, Punkt 10): * - Formular legt Brigade + ersten wehr_admin (local, argon2id) an. * - Einmal-Passwort wird genau einmal angezeigt. * - Audit `brigade.create` + `user.create` (über provisioning.ts). */ test.skip( !process.env.E2E_PLATFORM_ADMIN_STATE, "benötigt platform_admin-Fixture (Test-Workstream)", ); test.use({ storageState: process.env.E2E_PLATFORM_ADMIN_STATE ?? { cookies: [], origins: [] }, }); test("Wehr anlegen zeigt Einmal-Passwort", async ({ page }) => { await page.goto("/admin/wehren/neu"); const stamp = Date.now(); await page.getByLabel("Name").first().fill(`FF Testdorf ${stamp}`); await page.getByLabel("Straße").fill("Hauptstraße 1"); await page.getByLabel("PLZ").fill("3100"); await page.getByLabel("Ort").fill("St. Pölten"); await page.getByLabel("Telefon").fill("+43 2742 12345"); await page.getByLabel("Admin-Name").fill("Test Admin"); await page.getByLabel("Admin-E-Mail").fill(`admin-${stamp}@test.at`); await page.getByRole("button", { name: "Wehr anlegen" }).click(); await expect(page.locator("code")).toBeVisible(); const pw = await page.locator("code").innerText(); expect(pw.trim().length).toBeGreaterThan(6); });