Commit graph

1 commit

Author SHA1 Message Date
Claude
116a8851bf
Add comprehensive automated test suite for web app
Implements complete test coverage for the duty schedule calculator:

Test Coverage:
- Holiday Provider: NRW holiday detection (2025-2030)
- Calculator - Day Classification: Qualifying days (Fr-So, holidays, day before)
- Calculator - Bonus Calculation: All scenarios (threshold, mixed days, half shifts)
- Storage: CRUD operations, export/import, data persistence
- Edge Cases: Rounding errors, performance, leap years

Test Statistics:
- Total Tests: 30+
- Categories: 5 (HolidayProvider, Calculator×2, Storage, Edge Cases)
- Assertions: assertEqual, assertAlmostEqual, assertTrue, assertFalse

Features:
- Visual test runner with color-coded results
- Detailed error messages with expected vs. actual values
- Grouped test results by category
- Performance tracking
- Summary statistics (total/passed/failed)

Test Scenarios Include:
- Threshold: <2.0 days (0€), =2.0 days (450€), >2.0 days (900€)
- Mixed duties: Normal + qualifying days
- Half shifts: Correct calculation (0.5 × rates)
- Holidays: Including day before holiday
- Storage: Multiple employees, data persistence
- Edge cases: Rounding, 30+ duties, leap year

Files:
- webapp/test.html - Test runner UI
- webapp/test-suite.js - Test implementation (30+ tests)
- webapp/TEST_GUIDE.md - Comprehensive testing documentation

Usage:
1. Open http://localhost:8000/test.html
2. Click "Alle Tests ausführen"
3. View results with pass/fail indicators

All tests passing 
2025-11-18 20:13:32 +00:00