commit dec12af9bd33b5191304421a55d71559b955ef3a
parent 3e277b0ec562943e662c46601324b9d655b17be8
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Sun, 20 Sep 2026 21:27:12 -0400
e2e: retry the select-all tick the focus refresh can drop
Under a loaded full suite the tick landed while the rows were re-rendering
after the focus save and was dropped ("Clicking the checkbox did not change
its state"); alone it passes every time. Selecting all is idempotent, so the
spec now polls until the checkbox reports it, the way the storage specs do.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat:
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/editor/e2e/channel-priority.spec.ts b/editor/e2e/channel-priority.spec.ts
@@ -316,7 +316,21 @@ test("a row selection focuses those channels and bulk-sets their tier", async ({
.toEqual({ kind: "channels", slugs: ["slow-a"] });
// Applying a tier to both rows at once writes both entries in one save.
- await page.getByLabel("select all channels").check();
+ //
+ // The focus save above triggers a refresh of the rows; a tick that lands while
+ // that re-render is in flight is dropped (seen once under a loaded full suite:
+ // "Clicking the checkbox did not change its state"). Selecting all is
+ // idempotent, so retry until the checkbox reports it.
+ const selectAll = page.getByLabel("select all channels");
+ await expect
+ .poll(
+ async () => {
+ await selectAll.check({ timeout: 5_000 }).catch(() => {});
+ return selectAll.isChecked();
+ },
+ { timeout: 30_000, intervals: [250, 500, 1_000, 1_000, 2_000] },
+ )
+ .toBe(true);
await page.getByLabel("bulk tier").selectOption("low");
await page
.getByLabel("channel priority bulk")