Aufraeumarbeiten: ESLint, DOM-Verschachtelung, eigene Testwehr
ESLint hatte keine Konfiguration — das Skript "npm run lint" pruefte nichts. Jetzt Flat Config ohne Formatierungsregeln, dafuer mit den Regeln, die die Fehler dieses Projekts gemeldet haetten. Er hat gleich zwei gefunden, die niemand gesucht hatte. Das Badge rendert ein span statt eines div. Damit ist die Meldung "div cannot be a descendant of p" weg, die seit Phase 3 auf der Einsatzseite stand — sie ist der klassische Ausloeser fuer einen Hydration-Fehler. Die E2E-Tests laufen gegen eine eigene Wehr. Nach fuenf Phasen standen in der Beispielwehr 120 Atemschutz-Ueberwachungen statt einer und 115 Geraete statt 45; bei jedem Lauf aenderten sich alle Bildschirmfotos. Der Bestand ist einmal zurueckgesetzt, npm run db:test-reset baut die Testwehr neu auf. Behoben nebenbei: - Die Fehlerflaeche der Karte konnte nie etwas anzeigen. - Zwei useMemo der Lagekarte rechneten bei jedem Rendern neu. - tests/e2e war vom Typecheck ausgenommen und liess einen doppelt deklarierten Bezeichner durch. Closes #10 Closes #11 Closes #12 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
8081131eb7
commit
7196c7110c
@@ -1162,15 +1162,42 @@ npm run dev # Entwicklungsserver auf Port 3100
|
||||
npm run build # Produktionsbuild
|
||||
npm run worker:dev # Hintergrundprozess mit Neuladen
|
||||
npm run test # Vitest
|
||||
npm run test:e2e # Playwright
|
||||
npm run test:e2e # Playwright (vorher: npm run db:test-reset)
|
||||
npm run lint # ESLint
|
||||
npm run lint:fix # ESLint mit automatischen Korrekturen
|
||||
npm run typecheck # TypeScript ohne Ausgabe
|
||||
npm run db:migrate # ausstehende Migrationen anwenden
|
||||
npm run db:seed # Beispielwehr einspielen
|
||||
npm run db:test-reset # Testwehr für die E2E-Tests neu aufbauen
|
||||
npm run db:studio # Prisma Studio
|
||||
npm run screenshots # Bilder für docs/ANLEITUNG.md erzeugen
|
||||
npm run vapid # VAPID-Schlüsselpaar für Web-Push erzeugen
|
||||
```
|
||||
|
||||
## Tests
|
||||
|
||||
```bash
|
||||
npm run test # Vitest — Unit und Datenbankregeln
|
||||
npm run db:test-reset # einmalig vor dem E2E-Lauf
|
||||
npm run test:e2e # Playwright
|
||||
```
|
||||
|
||||
### Zwei Wehren in der Datenbank
|
||||
|
||||
Die E2E-Tests laufen gegen eine **eigene Wehr** (`ff-teststelle`), nicht gegen
|
||||
die Beispielwehr aus der Anleitung. Der Grund ist ein handfester: bis Phase 8
|
||||
schrieben sie in `ff-musterhausen`, und nach fünf Phasen standen dort
|
||||
120 Atemschutz-Überwachungen statt einer und 115 Geräte statt 45. Zweimal
|
||||
fielen Tests aus, weil ein gesuchter Eintrag von Seite 1 gerutscht war — und
|
||||
bei jedem Lauf unterschieden sich alle 72 Bildschirmfotos.
|
||||
|
||||
`npm run db:test-reset` löscht die Testwehr und legt sie neu an, mit denselben
|
||||
Beispieldaten. Die Beispielwehr wird dabei nicht angefasst; ein Sicherungsriegel
|
||||
im Skript bricht ab, wenn beide Kennungen übereinstimmen.
|
||||
|
||||
Anmeldung der Testwehr: `e2e@teststelle.de` / `Feuerwehr2026`, änderbar über
|
||||
`E2E_ADMIN_EMAIL` und `E2E_ADMIN_PASSWORT`.
|
||||
|
||||
## Dienste und Ports (Entwicklung)
|
||||
|
||||
Bewusst nicht die Standardports, damit FLORIAN neben anderen lokalen Stacks
|
||||
|
||||
Reference in New Issue
Block a user