Implement tournament category validation: Add Turnier.validateKategorieLimits with a policy interface and descriptor for decoupled validation against ÖTO limits. Introduce TurnierkategoriePolicy and implement OeToTurnierkategoriePolicy for CSN and CDN max limits. Add comprehensive unit tests and update roadmap with completed A-3 sub-tasks.
This commit is contained in:
@@ -44,9 +44,14 @@
|
||||
- [x] Migrations-Skript schreiben und testen (`db/tenant/V2__domain_hierarchy.sql`, Test: `DomainHierarchyMigrationTest`)
|
||||
|
||||
- [ ] **A-3** | Validierungs-Grundlage: Turnierkategorie-Limits
|
||||
- [ ] `Turnier.validate()`: Bewerbs-Klassen gegen Limits der Turnierkategorie prüfen (z.B. kein S-Springen auf
|
||||
C-Turnier)
|
||||
- [ ] Voraussetzung: Spezifikation von 📜 Rulebook Expert (A-5) abwarten
|
||||
- [x] Grundlage implementiert: Entkoppelte Policy-Schnittstelle + Bewerb-Descriptor
|
||||
- Events-Domain: `DomTurnier.validateKategorieLimits(bewerbe, policy)` delegiert an `TurnierkategoriePolicy`
|
||||
- Neu: `TurnierBewerbDescriptor`, `TurnierkategoriePolicy`, `NoopTurnierkategoriePolicy`
|
||||
- Test: `DomTurnierKategorieValidationTest` mit Fake-Policy (Verkabelung + Beispielverletzungen)
|
||||
- [x] Konkrete Regeln/Limits gemäß ÖTO umsetzen (eigene Policy-Implementierung)
|
||||
- `OeToTurnierkategoriePolicy`: Harte Max-Limits umgesetzt (CSN: Höhe in cm; CDN: Klassen-Level). Sonderregeln (Pflichtbewerbe, Tageslimits, Genehmigungen) offen.
|
||||
- Tests: `OeToTurnierkategoriePolicyTest` (CSN/C und C-NEU; B vs. 140 cm; CDN/C und C-NEU; B vs. S)
|
||||
- [ ] Voraussetzung: Spezifikation von 📜 Rulebook Expert (A-5) abwarten (zur Ergänzung der Sonderregeln)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user