diff --git a/tests/review-purchase.e2e.test.mjs b/tests/review-purchase.e2e.test.mjs index 48a118a..5586195 100644 --- a/tests/review-purchase.e2e.test.mjs +++ b/tests/review-purchase.e2e.test.mjs @@ -369,9 +369,21 @@ test( (label) => !label.includes("隐藏") && !label.includes("不应售出"), ), ); - await page - .getByRole("option", { name: "常规区域 / 可选节点", exact: true }) - .click(); + const quotesBeforeSelection = state.quotes.length; + await page.getByRole("option", { name: "备用区域", exact: true }).click(); + // 改选非默认项并等本轮新报价;选择处理若失效,不能沿用默认 20 的报价假绿。 + await eventually( + () => + state.quotes + .slice(quotesBeforeSelection) + .some( + (quote) => + quote.config_options.cascade_configoption[5].item_id === 30, + ), + Boolean, + "Selecting a non-default visible candidate must request a fresh quote", + ); + assert.match(await region.innerText(), /备用区域/); await page .getByRole("button", { name: "加入购物车", exact: true }) .click(); @@ -382,7 +394,7 @@ test( ); assert.equal( state.carts[0].config_options.cascade_configoption[5].item_id, - 20, + 30, ); await page.getByRole("button", { name: "立即购买", exact: true }).click(); await eventually( @@ -392,13 +404,13 @@ test( ); assert.equal( state.settlements[0].config_options.cascade_configoption[5].item_id, - 20, + 30, ); return { visibleChoices: labels.length, defaultVisibleItem: 20, - cartVisibleItem: 20, - checkoutVisibleItem: 20, + cartVisibleItem: 30, + checkoutVisibleItem: 30, }; }); },