fix(web): make ShopOfferView.effectSummary/requirements required

The server always sends both fields; an optional frontend type only
dodged a transient gap in merchant.store.spec.ts's shopView() fixture
and risked a requirement line silently failing to render if a future
fixture omitted the fields. Add the two fields to that single fixture
instead (an open offer, so null/[] are the honest values) and drop the
now-unnecessary `?? []` tolerance in the template.
This commit is contained in:
Bastian Wagner
2026-08-22 20:20:26 +02:00
parent 00784094ab
commit 681af334bf
3 changed files with 5 additions and 8 deletions

View File

@@ -446,13 +446,8 @@ export interface ShopOfferView {
currencyType: string;
price: number;
quantity: number;
/**
* Optional so fixtures written before slice 0.8.5 (e.g. the trade-in store's
* own spec, out of this task's scope) keep compiling untouched. The server
* always sends both fields; the template treats a missing one as "none".
*/
effectSummary?: string | null;
requirements?: ShopOfferRequirement[];
effectSummary: string | null;
requirements: ShopOfferRequirement[];
unlocked: boolean;
affordable: boolean;
}

View File

@@ -228,7 +228,7 @@
}}</span>
}
@for (
requirement of offer.requirements ?? [];
requirement of offer.requirements;
track requirement.label
) {
<span

View File

@@ -89,6 +89,8 @@ function shopView(): ShopView {
currencyType: 'SILVER',
price: 12,
quantity: 1,
effectSummary: null,
requirements: [],
unlocked: true,
affordable: true,
},