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:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -228,7 +228,7 @@
|
||||
}}</span>
|
||||
}
|
||||
@for (
|
||||
requirement of offer.requirements ?? [];
|
||||
requirement of offer.requirements;
|
||||
track requirement.label
|
||||
) {
|
||||
<span
|
||||
|
||||
@@ -89,6 +89,8 @@ function shopView(): ShopView {
|
||||
currencyType: 'SILVER',
|
||||
price: 12,
|
||||
quantity: 1,
|
||||
effectSummary: null,
|
||||
requirements: [],
|
||||
unlocked: true,
|
||||
affordable: true,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user