feat(tests): add QA test suites for onboarding and departmental logic validation
- **Onboarding (B-2):** Extracted `OnboardingValidator` and added `OnboardingValidatorTest` for edge-case validations (17 new unit tests: field guards, double-click prevention, cancel/reset behavior, `rememberSaveable` regression fix). - **Departmental Logic (B-3):** Extended `AbteilungsRegelServiceTest` with 14 new tests covering CSN-C-NEU splitting logic (≤95 cm: license-free/licensed, ≥100 cm: R1/R2+), Caprilli regressions, and organizational/separate award scenarios. - Updated `AbteilungsRegelService.kt` to implement CSN-C-NEU logic and added `ORGANISATORISCH` + `SEPARATE_SIEGEREHRUNG` enums for new rules. - Updated Changelog and QA roadmap with completed tasks. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
@@ -26,19 +26,26 @@
|
||||
- [ ] SingleTop-Tabs: kein doppelter Stack-Eintrag bei Tab-Wechsel
|
||||
- [ ] Logout poppt MainShell komplett (keine Screens im Back-Stack)
|
||||
|
||||
- [ ] **B-2** | Test-Suite: Onboarding-Wizard Edge-Cases
|
||||
- [ ] Leere Pflichtfelder → Speichern-Button bleibt deaktiviert
|
||||
- [ ] Schnelles Doppelklick auf „Weiter" / „Speichern" → kein doppelter Submit
|
||||
- [ ] Abbrechen mitten im Wizard → kein inkonsistenter Zustand
|
||||
- [ ] Zurück-Navigation: Gerätename und Sicherheitsschlüssel bleiben erhalten (`rememberSaveable`)
|
||||
- [ ] Ungültige OEPS-Nummer → Fehlermeldung sichtbar, Submit gesperrt
|
||||
- [x] **B-2** | Test-Suite: Onboarding-Wizard Edge-Cases ✅ *3. April 2026*
|
||||
- [x] Leere Pflichtfelder → Speichern-Button bleibt deaktiviert
|
||||
- [x] Schnelles Doppelklick auf „Weiter" / „Speichern" → kein doppelter Submit
|
||||
- [x] Abbrechen mitten im Wizard → kein inkonsistenter Zustand
|
||||
- [x] Zurück-Navigation: Gerätename und Sicherheitsschlüssel bleiben erhalten (`rememberSaveable`)
|
||||
- **Fix:** `remember` → `rememberSaveable` in `OnboardingScreen.kt`
|
||||
- **Neu:** `OnboardingValidator`-Objekt extrahiert für isolierte Unit-Tests
|
||||
- **Tests:** `OnboardingValidatorTest.kt` (17 Tests, alle GRÜN)
|
||||
- [ ] Ungültige OEPS-Nummer → Fehlermeldung sichtbar, Submit gesperrt *(offen: abhängig von C-3)*
|
||||
|
||||
- [ ] **B-3** | Test-Suite: Abteilungs-Logik
|
||||
- [ ] CSN-C-NEU ≤95cm: Pflicht-Teilung `ohne Lizenz` / `mit Lizenz` wird vorgeschlagen
|
||||
- [ ] CSN-C-NEU ≥100cm: Pflicht-Teilung `R1` / `R2+` wird vorgeschlagen
|
||||
- [ ] `ORGANISATORISCH`: Gesamtrangliste korrekt zusammengeführt
|
||||
- [ ] `SEPARATE_SIEGEREHRUNG`: Abteilungen werden nicht zusammengeführt
|
||||
- [ ] Basis: `OetoValidatorsTest.kt`-Grenzfälle aus Rulebook B-1
|
||||
- [x] **B-3** | Test-Suite: Abteilungs-Logik ✅ *3. April 2026*
|
||||
- [x] CSN-C-NEU ≤95cm: Pflicht-Teilung `ohne Lizenz` / `mit Lizenz` wird vorgeschlagen
|
||||
- [x] CSN-C-NEU ≥100cm: Pflicht-Teilung `R1` / `R2+` wird vorgeschlagen
|
||||
- [x] `ORGANISATORISCH`: Gesamtrangliste korrekt zusammengeführt
|
||||
- [x] `SEPARATE_SIEGEREHRUNG`: Abteilungen werden nicht zusammengeführt
|
||||
- [x] Caprilli-Regression abgesichert (LIZENZFREI → Abt. 1, R1 → Abt. 2)
|
||||
- [x] Grenzfälle 90 cm und 110 cm abgedeckt
|
||||
- **Neu:** `ORGANISATORISCH` + `SEPARATE_SIEGEREHRUNG` in `AbteilungsTeilungsTypE` ergänzt
|
||||
- **Fix:** CSN-C-NEU-Logik in `AbteilungsRegelService.kt` implementiert
|
||||
- **Tests:** `AbteilungsRegelServiceTest.kt` (14 neue Tests, alle GRÜN)
|
||||
|
||||
- [ ] **B-4** | Test-Suite: ViewModel-Verhalten
|
||||
- [ ] State-Initialisierung korrekt (Loading-State beim Start)
|
||||
|
||||
Reference in New Issue
Block a user