Die sieben Ablaeufe des Hauses liegen nach dem Seed als veroeffentlichte Version 1 bereit: 36 Abschnitte, 155 Schritte, 28 Variablen, jeder Schritt mit Hilfetext. Sie stehen als JSON im Austauschformat unter prisma/seed-daten/vorlagen/ und werden beim Einrichten gegen dasselbe Schema geprueft wie ein Import. Der Seed richtet ein, er raeumt nicht auf: jede Zeile hat einen sprechenden Schluessel, und was es schon gibt, bleibt unberuehrt. Erst Entwurf, dann veroeffentlichen - die Trigger aus #010 lassen keinen anderen Weg zu. Im Modus DIENSTLEISTUNG haengt der Beispielbestand an der Musterfirma, LZ-7K3F9Q fuehrt also auf MUS-PC-001. Dazu zwei Zusagen eingeloest, die niemand deckte: {{ou_gesperrt}} kommt jetzt wirklich aus den Einstellungen, und Titel und Hilfetext eines Laufs bekommen dasselbe generierte Passwort wie der Befehl daneben - vorher stand im Befehl A und im Hilfetext B. Closes #17 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
4.5 KiB
4.5 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 - Die Abläufe suchen ihre Vorlage am Namen, nicht über
select ... { index: 1 }. Aufgefallen in #017: gegen eine frisch geseedete Datenbank steht an erster Stelle „Mitarbeiter-Offboarding“ mit Pflichtvariablen, die der Helfer nicht füllt — sechs Abläufe liefen je 30 s in den Zeitablauf. Ein Ablauf, der von der Sortierung der Vorlagenliste abhängt, prüft nicht, was er zu prüfen vorgibt - Die Voraussetzungen eines E2E-Laufs stehen an einer Stelle und werden geprüft, statt im Kopfkommentar zu stehen (
pnpm beispiel:vorlage,pnpm beispiel:stammdaten,pnpm beispiel:lauf) — besser noch: die Abläufe legen an, was sie brauchen. Die drei Skripte tragen auch die Screenshots; was davon bleibt und was in die Abläufe wandert, wird hier entschieden. In den Seed gehört es nicht: eine frische Installation soll keine Demo-Läufe und keine offenen Entwürfe mitbringen (in #017 geprüft und so entschieden) - Kein Ablauf setzt voraus, dass die Datenbank schon Läufe enthält.
uebersicht-druck.spec.tssucht sich mitlauf.findFirstOrThrow()irgendeinen Lauf und „Zuletzt bearbeitet" muss gefüllt sein — gegen eine frisch eingerichtete Installation scheitert beides mit „No record was found", und das sagt nichts über die Ursache (gesehen in #017) - Der E2E-Lauf prüft beim Start, dass er dieselbe Datenbank benutzt wie der Server unter Test. Die Abläufe legen ihre Daten über
prismaaus.envan, die Adresse des Servers steht inE2E_APP_URL— zeigen beide auf verschiedene Datenbanken, schreibt der Test in die eine und sucht in der anderen. Die Meldung heißt dann „0 Treffer“ und sagt nichts über die Ursache (gesehen in #017) 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