lilith-platform.live/codebase/@features/provider-website
Natalie 2bc733cf82 harden(provider-website): normalize all nested arrays in provider data + integration tests
The Footer crash (contact.paymentMethods undefined) was one instance of a class:
validateProviderData defaulted nested objects only when the whole object was
falsy, so a present-but-incomplete object from the degraded black-down edge left
nested arrays undefined and crashed every component that .map()s them.

Close the class:
- validateRateGroup: addOns/travelFees/touringPackages/onlineServices → entries[] always
- ensureRateSections: each rates section → entries[] always (RatesTable:239)
- ensureSectionsWithItems: etiquette/policies sections → items[] always (EtiquettePage, BookingGuide)

Add providerDataValidator.integration.test.ts: feeds the realistic degraded edge
payload through the validator and replays every component .map() call site,
asserting none can throw. Verified green (11/11) against the real validator.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 06:19:01 -04:00
..
data-api feat(quinn-admin): move default theme selector from hardcoded quinn.www constant into quinn-admin feature (public data) 2026-06-23 04:34:35 -04:00
frontend-public harden(provider-website): normalize all nested arrays in provider data + integration tests 2026-06-29 06:19:01 -04:00
shared/src feat(quinn-admin): move default theme selector from hardcoded quinn.www constant into quinn-admin feature (public data) 2026-06-23 04:34:35 -04:00