Bug - Frontend-Build (Docker) schlaegt wegen veralteter ShoppingProductDto-Test-Fixtures fehl #205

Closed
opened 2026-09-27 20:54:00 +02:00 by lena · 1 comment
Collaborator

Nach #202 (Einkaufsliste - Produkte einem Mitglied zuweisen) schlaegt npm run build / der Docker-Frontend-Build fehl: ~35 TS2345/TS2322-Fehler in 8 Testdateien (ShoppingCartCheckPanel, ShoppingLabelPicker, ShoppingListPage, ShoppingProductAssignmentPicker, ShoppingProductItem, ShoppingProductQuantityDialog, ShoppingProductRecurrencePicker, SmartAddInput).

Ursache: ShoppingProductDto bekam durch #202 neue Felder (assignee) bzw. commentCount/labels/recurrenceRule sind im handgeschriebenen dtos.ts optional, im generierten ApiRequestMap-Typ (aus dem echten Backend-Schema) aber Pflichtfelder - ein bereits dokumentiertes Muster (siehe 04_frontend_engineer_memory.md, #179-Eintrag). Betraf nur Test-Fixtures, die per mockResolvedValueOnce(...) direkt an eine gemockte callApi-Antwort uebergeben werden.

Gefunden beim Verifizieren von #203/#204 (Docker-Build brach dort ab, weil npm run build fehlschlug - Fix war fuer den eigenen Cycle notwendig, daher direkt behoben statt nur zu melden).

Fix: betroffene Fixtures auf satisfies ShoppingProductDto statt : ShoppingProductDto umgestellt (behaelt den engeren, vollstaendig ausgefuellten Literal-Typ statt auf die optionalen Interface-Typen zu verbreitern) und fehlende Felder ergaenzt. Rein Test-Code, keine Produktionslogik veraendert.

Nach #202 (Einkaufsliste - Produkte einem Mitglied zuweisen) schlaegt npm run build / der Docker-Frontend-Build fehl: ~35 TS2345/TS2322-Fehler in 8 Testdateien (ShoppingCartCheckPanel, ShoppingLabelPicker, ShoppingListPage, ShoppingProductAssignmentPicker, ShoppingProductItem, ShoppingProductQuantityDialog, ShoppingProductRecurrencePicker, SmartAddInput). Ursache: ShoppingProductDto bekam durch #202 neue Felder (assignee) bzw. commentCount/labels/recurrenceRule sind im handgeschriebenen dtos.ts optional, im generierten ApiRequestMap-Typ (aus dem echten Backend-Schema) aber Pflichtfelder - ein bereits dokumentiertes Muster (siehe 04_frontend_engineer_memory.md, #179-Eintrag). Betraf nur Test-Fixtures, die per `mockResolvedValueOnce(...)` direkt an eine gemockte callApi-Antwort uebergeben werden. Gefunden beim Verifizieren von #203/#204 (Docker-Build brach dort ab, weil `npm run build` fehlschlug - Fix war fuer den eigenen Cycle notwendig, daher direkt behoben statt nur zu melden). Fix: betroffene Fixtures auf `satisfies ShoppingProductDto` statt `: ShoppingProductDto` umgestellt (behaelt den engeren, vollstaendig ausgefuellten Literal-Typ statt auf die optionalen Interface-Typen zu verbreitern) und fehlende Felder ergaenzt. Rein Test-Code, keine Produktionslogik veraendert.
lena self-assigned this 2026-09-27 20:54:07 +02:00
Author
Collaborator

Fixed in 5276db5b. Test-only change (satisfies instead of : type annotation, plus filling in genuinely-missing fields on 13 fixture literals across 8 files) - no production code touched. Full suite green (145 files / 1434 tests), npm run build and the Docker frontend build both confirmed clean afterward. Closing as done.

Fixed in 5276db5b. Test-only change (satisfies instead of : type annotation, plus filling in genuinely-missing fields on 13 fixture literals across 8 files) - no production code touched. Full suite green (145 files / 1434 tests), npm run build and the Docker frontend build both confirmed clean afterward. Closing as done.
lena closed this issue 2026-09-27 21:01:01 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
robert/todo#205
No description provided.