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

+4 -1
View File
@@ -5,6 +5,9 @@
"type": "module",
"scripts": {
"start": "npx serve . -p 3001",
"test": "node tests/utils.test.mjs && node tests/algorithm.test.mjs && node tests/data.test.mjs && node tests/excel.test.mjs"
"test": "node tests/utils.test.mjs && node tests/algorithm.test.mjs && node tests/data.test.mjs && node tests/excel.test.mjs && node tests/render.test.mjs && node tests/persistence.test.mjs"
},
"devDependencies": {
"jsdom": "^29.1.1"
}
}