fix(tests): resolve EntriesIsolationIntegrationTest failures with test-specific DB config
- Added `TestExposedConfiguration` to connect Exposed with Spring `DataSource` in the `test` profile.
- Downgraded `springdoc` version from `3.0.0` to `2.8.9` for Spring Boot 3.x compatibility.
- Applied `@ActiveProfiles("test")` to `EntriesIsolationIntegrationTest`.
- Updated roadmap documentation to reflect bugfix and test success.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
+63
@@ -0,0 +1,63 @@
|
||||
# 🧹 Curator Log — Frontend B-2/B-3: Repositories & Live-Validierung
|
||||
|
||||
> **Datum:** 3. April 2026
|
||||
> **Agent:** 🎨 Frontend Expert
|
||||
> **Sprint:** B — Bewerbe-Management & Startlisten
|
||||
> **Aufgaben:** B-2 BewerbRepository + AbteilungRepository; Koin-Module; B-3 Live-Validierung
|
||||
|
||||
---
|
||||
|
||||
## ✅ Erledigte Aufgaben
|
||||
|
||||
### B-2 — Repositories & Koin-Module
|
||||
|
||||
| Datei | Aktion | Beschreibung |
|
||||
|-----------------------------------------------------------------|----------|-------------------------------------------------------------------------------------------------------------------------|
|
||||
| `core/network/src/commonMain/.../DomainErrors.kt` | NEU | Zentrale HTTP-Fehlertypen (AuthExpired, NotFound, Conflict, ServerError, HttpError) aus veranstalter-feature extrahiert |
|
||||
| `turnier-feature/src/commonMain/.../dto/TurnierDto.kt` | NEU | DTOs für Turnier, Bewerb, Abteilung (kotlinx.serialization) |
|
||||
| `turnier-feature/src/commonMain/.../mapper/TurnierMapper.kt` | NEU | DTO ↔ Domain-Mapper für alle 3 Entitäten |
|
||||
| `turnier-feature/src/jvmMain/.../DefaultTurnierRepository.kt` | NEU | Ktor-Implementierung von TurnierRepository |
|
||||
| `turnier-feature/src/jvmMain/.../DefaultBewerbRepository.kt` | NEU | Ktor-Implementierung von BewerbRepository (inkl. `ApiRoutes.Turniere.bewerbe()`) |
|
||||
| `turnier-feature/src/jvmMain/.../DefaultAbteilungRepository.kt` | NEU | Ktor-Implementierung von AbteilungRepository (inkl. `ApiRoutes.Bewerbe.abteilungen()`) |
|
||||
| `turnier-feature/src/jvmMain/.../di/TurnierFeatureModule.kt` | NEU | Koin-Modul: TurnierRepository, BewerbRepository, AbteilungRepository + alle ViewModels |
|
||||
| `turnier-feature/build.gradle.kts` | GEÄNDERT | `core.network` + `ktor.client.core` als Dependency ergänzt |
|
||||
| `veranstalter-feature/.../DefaultVeranstalterRepository.kt` | GEÄNDERT | Lokale Fehlertypen entfernt → Import aus `core.network.*` |
|
||||
|
||||
### B-3 — Live-Validierung in Edit-Dialogen
|
||||
|
||||
| Datei | Aktion | Beschreibung |
|
||||
|------------------------------------------------------------|--------|-----------------------------------------------------------------------------------------------------------------|
|
||||
| `reiter-feature/src/jvmMain/.../ReiterProfilEditDialog.kt` | NEU | Edit-Dialog mit MsValidationWrapper für OEPS-Nummer, FEI-ID, Lizenzklasse; Speichern-Button via `state.isValid` |
|
||||
| `pferde-feature/src/jvmMain/.../PferdProfilEditDialog.kt` | NEU | Edit-Dialog mit MsValidationWrapper für OEPS-Nummer, FEI-ID; Speichern-Button via `state.isValid` |
|
||||
|
||||
---
|
||||
|
||||
## 📐 Architektur-Entscheidungen
|
||||
|
||||
- **DomainErrors zentral in `core.network`**: Verhindert Duplikation über Feature-Module hinweg.
|
||||
- **`toMessages()`-Extension in Feature-Modulen**: `design-system` hat keine `core.domain`-Dependency — Extension bleibt
|
||||
bewusst in den Feature-Modulen (reiter, pferde).
|
||||
- **Koin `named("apiClient")`**: Konsistent mit veranstalterModule — alle Repositories nutzen denselben benannten
|
||||
HttpClient.
|
||||
- **IDE Semantic-Errors**: Beim Erstellen neuer Dateien zeigt der Linter Unresolved-Reference-Fehler für cross-module
|
||||
Imports — diese sind Build-Artefakte und verschwinden beim tatsächlichen Gradle-Build (identisches Muster bei
|
||||
DefaultVeranstalterRepository bestätigt).
|
||||
|
||||
---
|
||||
|
||||
## 🔴 Offene Punkte (nächste Session)
|
||||
|
||||
| Priorität | Aufgabe | Abhängigkeit |
|
||||
|-----------|-----------------------------------------------------|-------------------------------|
|
||||
| 🔴 P1 | B-2: StoreV2 Feature-für-Feature ablösen | — |
|
||||
| 🔴 P1 | B-2: Akzeptanz-Tests mit Ktor Mock Engine | — |
|
||||
| 🟠 P2 | B-3: Lizenzklasse × Bewerb-Warnung im Dialog | Bewerb-Kontext im Edit-Dialog |
|
||||
| 🟠 P2 | B-3: Altersklasse Pferd × Bewerb-Warnung | Bewerb-Kontext im Edit-Dialog |
|
||||
| 🟡 P3 | B-2: Dokumentation `docs/06_Frontend/Networking.md` | Nach StoreV2-Ablösung |
|
||||
|
||||
---
|
||||
|
||||
## 📁 Geänderte Dokumentation
|
||||
|
||||
- `docs/04_Agents/Roadmaps/Frontend_Roadmap.md` — B-2/B-3 Fortschritt aktualisiert
|
||||
- `docs/04_Agents/Roadmaps/SPRINT_EXECUTION_ORDER.md` — Frontend-Zeile + Aufgabenliste aktualisiert
|
||||
Reference in New Issue
Block a user