From 3633fe19084257650c3763103181c905cfd564dd Mon Sep 17 00:00:00 2001 From: CieanYau Date: Fri, 6 Nov 2026 01:50:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E7=BA=A7=E8=81=94=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E9=9D=9E=E9=BB=98=E8=AE=A4=E9=80=89=E9=A1=B9=E7=9A=84?= =?UTF-8?q?=E7=9C=9F=E5=AE=9E=E6=8F=90=E4=BA=A4=E6=B5=81=E7=A8=8B=E9=AA=8C?= =?UTF-8?q?=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/review-purchase.e2e.test.mjs | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) 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, }; }); },