Eine veroeffentlichte Vorlagen-Version ist fuer immer unveraenderlich — daran haengt, dass ein archivierter Lauf in zehn Jahren noch genau die Schritte zeigt, mit denen er gestartet wurde. Die Regel steht deshalb zweimal: im Service, der die verstaendliche Meldung gibt, und in der Datenbank, die die Garantie gibt. Vier Trigger fangen Schreibzugriffe ab, die nicht durch den Service kommen — Migrationen, psql, der Seed und ab Phase 4 die Connectoren — und versperren den Rueckweg nach ENTWURF, der alles andere ausgehebelt haette. - Service: anlegen, Kopfdaten bearbeiten, Entwurf als tiefe Kopie der letzten veroeffentlichten Version, speichern, veroeffentlichen, verwerfen, duplizieren, archivieren - Hoechstens ein Entwurf je Vorlage, durchgesetzt vom partiellen Index; zwei gleichzeitige Klicks auf „Bearbeiten“ bekommen denselben Entwurf statt eines Fehlers - Optimistisches Sperren ueber geaendertAm: wer auf einem ueberholten Stand speichert, wird abgewiesen statt die Arbeit des anderen spurlos zu ersetzen - JSON-Export und -Import samt Format-Dokumentation; der Export ist nachsichtig, der Import streng - src/lib/validierung.ts als einzige Zod-Quelle mit deutschen Meldungen, per ESLint-Regel erzwungen Der unabhaengige Review fand drei Blocker, alle an der Mandantengrenze: der Suchfilter brachte ein zweites OR mit und ueberschrieb die Kundenbedingung, Historie und Aufbau einer Version filterten gar nicht. Zu queries/vorlagen.ts gab es keinen Test — jetzt gibt es tests/vorlagen-sicht.test.ts. 428 Tests gruen (vorher 336). Schliesst #009 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2.8 KiB
2.8 KiB
#018 M13 – E2E-Tests, Anleitung, PDF
Status: offen Meilenstein: v0.1.0 Labels: phase-1, test, docs Geschätzt: 14 h Tatsächlich: –
Ziel
Nachweis, dass die Abläufe wirklich durchlaufen, und eine Anleitung, mit der ein Techniker ohne Einweisung arbeiten kann.
Aufgaben
- Playwright-Hauptablauf: anmelden → „PC Neuinstallation“ für
PC-001starten → Schritte abhaken → Wert eintragen → einen Schritt „nicht zutreffend“ mit Notiz → abschließen → archivieren → im Archiv finden → Schreibschutz greift - Derselbe Hauptablauf mit
SEED_MODE=SERVICEgegenMUS-PC-001, mit Kundenwahl im Start-Dialog - Playwright-QR-Ablauf:
/t/LZ-7K3F9Qohne Anmeldung → Login → Geräteseite → „Vorlage zuweisen“ → Lauf erscheint unter „Zugewiesen“ → „Starten“ setztIN_ARBEIT; dazu unregistrierter Tag → Registrierformular → Geräteseite; unbekannter Tag → Hinweis - Playwright-Onboarding-Ablauf: Vorlage starten → Vorname und Nachname eingeben → UPN,
samund Mail werden vorgeschlagen → Abteilung „Buchhaltung“ wählen → im Schritt „Konto anlegen“ steht der fertigeNew-ADUser-Befehl → Kopieren liefert exakt diesen Text (Clipboard auslesen) - Playwright-Mobilprüfung: auf allen Hauptseiten bei 390 × 844 ist
scrollWidth <= clientWidth - Playwright-Rollenprüfung:
LESERsieht keine Schreib-Knöpfe und wird serverseitig abgewiesen pnpm docs:screenshots: Playwright-Skript, Desktop 1440 × 900 und Handy 390 × 844, Seed-Daten, dunkles Design, mit Markierungen (Rahmen, Nummern) für die beschriebenen Stellen; Ablagedocs/anleitung/bilder/pnpm docs:pdf: Anleitung als PDF über Chromium (page.pdf, A4,printBackground), Ablagedocs/anleitung/laufzettel-anleitung.pdfdocs/anleitung/auf Deutsch, getrennt für Techniker und Admins: Erste Schritte · Vorlagen bauen · Läufe abarbeiten (Desktop und Handy) · QR-Tags drucken und registrieren · Mitarbeiter und Abteilungen · Betriebsmodus · Admin: Verzeichnis, Benutzer, Einstellungen · FehlerbehebungREADME.mdvollständig: Setup, alle Umgebungsvariablen, Betrieb mit Docker Compose, authentik-Anbindung inkl. Gruppen für Rollen, Seed, Sicherungshinweis für die Datenbank
Akzeptanzkriterien
- Alle Playwright-Abläufe grün, in
INTERNund inDIENSTLEISTUNG - Der Kopier-Knopf liefert exakt den erwarteten Befehlstext, zeichengenau geprüft
- Keine Hauptseite scrollt bei 390 px horizontal
pnpm docs:screenshotserzeugt alle in der Anleitung verlinkten Bilder reproduzierbar neupnpm pruefe:dokumeldet kein fehlendes Bild- Das PDF enthält alle Kapitel mit Bildern, Umlaute korrekt, keine abgeschnittenen Seiten
- Die README beschreibt authentik so, dass ein Dritter die Anbindung ohne Rückfrage hinbekommt