Testlücken aus URL-Neuordnung Etappe 4b (braucht Ollis Ja) #148

Open
opened 2026-10-25 07:30:31 +00:00 by claude · 0 comments
Collaborator

Braucht Ollis Ja (Teständerungen). Lücken und schwache Prüfungen aus den Task-Reviews und dem Gesamt-Review der URL-Neuordnung Etappe 4b (25.10., Branch feature/url-etappe-4b, Merge offen; Ledger .superpowers/sdd/2026-10-24-url-neuordnung-etappe-4b/progress.md, Gesamt-Review logs/url-neuordnung/final-review-etappe4b.md). Das Verhalten stimmt jeweils.

Fehlende Tests:

  1. Interner Spielbericht, Entscheid null: geprüft nur für eine offene Begegnung (TeamMatchResourceTest.java:918), nicht für ein Forfait ohne Wertung.
  2. Portal, öffentliche Meisterschaft: kein Test, dass das Badge „provisorisch“ im Modus official nie erscheint (LigaView.test.tsx; die Zeile hat dort kein resultStatus).
  3. Archivweg nur im Unit-Test: Portal /spielbetrieb/meisterschaft?seasonId=<alt> → Resultat anklicken → „Zurück“ landet in der alten Saison. Gedeckt nur von LigaView.test.tsx:105, kein E2E-Fall.
  4. 400-Fälle prüfen nur den Status, nicht den Text: PublicTeamMatchResourceTest.java:118 (ohne seasonId), :126 (unbekannter competitionType).

Schwache Prüfungen:
5. reportShowsSubmittedResult (TeamMatchResourceTest.java:900) prüft vom Bericht nur games[0].gameType.
6. matchAusAbgeschlossenerSaisonIstErreichbar (LigaViewServiceTest.java:503): assertNotNull in Z. 506 ist immer wahr, besser assertEquals auf die id.
7. e2e/tests/liga-view.spec.ts:252: waitForResponse(r => r.url().includes(/api/team-matches/${played.id})) ohne Endanker – trifft auch eine längere id mit demselben Anfang.
8. score: unknown | null kollabiert zu unknown (e2e/tests/spieldetail.spec.ts:16, resultat-korrigieren.spec.ts:73, 393).

Aufräumen in Tests:
9. Testnamen beschreiben den alten Weg: OEFFENTLICHER_CUP_WEG (ForfeitContractTest.java:36, zeigt jetzt auf /api/public/team-matches/), scheduleOfUnknownOrMissingCategoryIsEmpty (LigaViewServiceTest.java:342), draftCategoryIsHiddenUntilProvisionalIsRequested (:347). ADR 0038 Abschnitt 4b nennt sie als negative Konsequenz.
10. PublicTeamMatchResourceTest.java:91: voll qualifiziertes java.util.List.of, dazu Active Record (SeasonHalbserie.delete) im Aufräumen.
11. Importreihenfolge LigaViewServiceTest.java:6–7 (ResultStatusValue nach StandingsRowResponse).
12. portal/src/test/LigaView.test.tsx:228–238 baut Zeilen per { ...matches[1], … } – bricht still, wenn sich die Testdaten ändern.
13. homepage/src/lib/match-view.test.ts: die score-Literale mit homeBalls/awayBalls stehen neunmal ausgeschrieben.

Zur Kenntnis, nachträglich zu bestätigen: In Task 4 wurden Kommentare in Tests ausserhalb der freigegebenen Liste angepasst – Javadoc von PublicCupResourceTest („nimmt nur Cup-Begegnungen“ → „zeigt nur freigegebene Cups“) und in LigaViewServiceTest „laufenden“ → „gefragten“ Saison.

**Braucht Ollis Ja** (Teständerungen). Lücken und schwache Prüfungen aus den Task-Reviews und dem Gesamt-Review der URL-Neuordnung Etappe 4b (25.10., Branch `feature/url-etappe-4b`, Merge offen; Ledger `.superpowers/sdd/2026-10-24-url-neuordnung-etappe-4b/progress.md`, Gesamt-Review `logs/url-neuordnung/final-review-etappe4b.md`). Das Verhalten stimmt jeweils. Fehlende Tests: 1. **Interner Spielbericht, Entscheid `null`:** geprüft nur für eine offene Begegnung (`TeamMatchResourceTest.java:918`), nicht für ein Forfait ohne Wertung. 2. **Portal, öffentliche Meisterschaft:** kein Test, dass das Badge „provisorisch“ im Modus `official` nie erscheint (`LigaView.test.tsx`; die Zeile hat dort kein `resultStatus`). 3. **Archivweg nur im Unit-Test:** Portal `/spielbetrieb/meisterschaft?seasonId=<alt>` → Resultat anklicken → „Zurück“ landet in der alten Saison. Gedeckt nur von `LigaView.test.tsx:105`, kein E2E-Fall. 4. **`400`-Fälle prüfen nur den Status, nicht den Text:** `PublicTeamMatchResourceTest.java:118` (ohne `seasonId`), `:126` (unbekannter `competitionType`). Schwache Prüfungen: 5. `reportShowsSubmittedResult` (`TeamMatchResourceTest.java:900`) prüft vom Bericht nur `games[0].gameType`. 6. `matchAusAbgeschlossenerSaisonIstErreichbar` (`LigaViewServiceTest.java:503`): `assertNotNull` in Z. 506 ist immer wahr, besser `assertEquals` auf die id. 7. `e2e/tests/liga-view.spec.ts:252`: `waitForResponse(r => r.url().includes(`/api/team-matches/${played.id}`))` ohne Endanker – trifft auch eine längere id mit demselben Anfang. 8. `score: unknown | null` kollabiert zu `unknown` (`e2e/tests/spieldetail.spec.ts:16`, `resultat-korrigieren.spec.ts:73, 393`). Aufräumen in Tests: 9. **Testnamen beschreiben den alten Weg:** `OEFFENTLICHER_CUP_WEG` (`ForfeitContractTest.java:36`, zeigt jetzt auf `/api/public/team-matches/`), `scheduleOfUnknownOrMissingCategoryIsEmpty` (`LigaViewServiceTest.java:342`), `draftCategoryIsHiddenUntilProvisionalIsRequested` (`:347`). ADR 0038 Abschnitt 4b nennt sie als negative Konsequenz. 10. `PublicTeamMatchResourceTest.java:91`: voll qualifiziertes `java.util.List.of`, dazu Active Record (`SeasonHalbserie.delete`) im Aufräumen. 11. Importreihenfolge `LigaViewServiceTest.java:6–7` (`ResultStatusValue` nach `StandingsRowResponse`). 12. `portal/src/test/LigaView.test.tsx:228–238` baut Zeilen per `{ ...matches[1], … }` – bricht still, wenn sich die Testdaten ändern. 13. `homepage/src/lib/match-view.test.ts`: die `score`-Literale mit `homeBalls`/`awayBalls` stehen neunmal ausgeschrieben. Zur Kenntnis, nachträglich zu bestätigen: In Task 4 wurden Kommentare in Tests ausserhalb der freigegebenen Liste angepasst – Javadoc von `PublicCupResourceTest` („nimmt nur Cup-Begegnungen“ → „zeigt nur freigegebene Cups“) und in `LigaViewServiceTest` „laufenden“ → „gefragten“ Saison.
Sign in to join this conversation.
No description provided.