test: add jsdom render + persistence integration tests (#13)

- render.test.mjs drives the real UI under jsdom: employees tab renders and
  add works, planning tab renders the calendar grid (makeDayCell), generate
  fills slots, a manual slot change updates history, and a beforeunload flush
  persists state to localStorage; data tab renders the history view.
- persistence.test.mjs seeds malformed persisted state (employee without
  constraints, out-of-range moderatorsPerDay) and asserts the startup load
  normalizes it without crashing.
- jsdom added as the single devDependency; node_modules gitignored; both
  suites wired into npm test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ferdi2goandClaude Opus 4.8 committed 2026-06-03 14:03:00 +00:00
1 parent 836d0eeda5
commit 189bcb6f38
6 files changed
+678 -2

No files matched your search

+1 -1
View File
@@ -18,7 +18,7 @@ Web-App zur Planung und Verwaltung von Meeting-Moderatoren.
- **Persistenz:** Browser-`localStorage` (kein Backend, keine Datenbank)
- **Excel-Im-/Export:** [SheetJS](https://sheetjs.com/) (per CDN, mit SRI eingebunden)
- **Statisches Serving:** [`serve`](https://www.npmjs.com/package/serve) (Dev)
- **Tests:** Node-Assertions (`node:assert`), ohne externe Abhängigkeiten
- **Tests:** Node-Assertions (`node:assert`); DOM-/Render-Tests via [jsdom](https://github.com/jsdom/jsdom) (einzige devDependency)
Voraussetzung: ein moderner Browser mit ES-Modul-Unterstützung.