Problem: Tests decken nur algorithm/data/excel ab. UI-Aufbau, Event-Handler und der localStorage-Pfad sind ungetestet — genau dort sitzen mehrere Bugs.
Fix: jsdom-basierte Integrationstests; mindestens Korrupt-JSON-Load und Regenerate-Verhalten.
**Schweregrad:** MEDIUM
**Dateien:** `js/calendar.js`, `js/employees.js`, `js/history.js`, `js/app.js`
**Problem:** Tests decken nur `algorithm`/`data`/`excel` ab. UI-Aufbau, Event-Handler und der localStorage-Pfad sind ungetestet — genau dort sitzen mehrere Bugs.
**Fix:** jsdom-basierte Integrationstests; mindestens Korrupt-JSON-Load und Regenerate-Verhalten.
Behoben in 189bcb6: jsdom-basierte Integrationstests. render.test.mjs treibt die echte UI (Mitarbeiter anlegen, Kalender-Grid via makeDayCell, Plan generieren, manuelle Slot-Änderung, beforeunload-Flush → localStorage, Verlauf-Tab). persistence.test.mjs seedet defekten State (Mitarbeiter ohne constraints, ungültiges moderatorsPerDay) und prüft sichere Normalisierung beim Start. jsdom als einzige devDependency, node_modules gitignored, beide Suites in npm test.
Behoben in `189bcb6`: jsdom-basierte Integrationstests. `render.test.mjs` treibt die echte UI (Mitarbeiter anlegen, Kalender-Grid via `makeDayCell`, Plan generieren, manuelle Slot-Änderung, `beforeunload`-Flush → localStorage, Verlauf-Tab). `persistence.test.mjs` seedet defekten State (Mitarbeiter ohne `constraints`, ungültiges `moderatorsPerDay`) und prüft sichere Normalisierung beim Start. jsdom als einzige devDependency, `node_modules` gitignored, beide Suites in `npm test`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Schweregrad: MEDIUM
Dateien:
js/calendar.js,js/employees.js,js/history.js,js/app.jsProblem: Tests decken nur
algorithm/data/excelab. UI-Aufbau, Event-Handler und der localStorage-Pfad sind ungetestet — genau dort sitzen mehrere Bugs.Fix: jsdom-basierte Integrationstests; mindestens Korrupt-JSON-Load und Regenerate-Verhalten.
Behoben in
189bcb6: jsdom-basierte Integrationstests.render.test.mjstreibt die echte UI (Mitarbeiter anlegen, Kalender-Grid viamakeDayCell, Plan generieren, manuelle Slot-Änderung,beforeunload-Flush → localStorage, Verlauf-Tab).persistence.test.mjsseedet defekten State (Mitarbeiter ohneconstraints, ungültigesmoderatorsPerDay) und prüft sichere Normalisierung beim Start. jsdom als einzige devDependency,node_modulesgitignored, beide Suites innpm test.