Archilyzer · Source

archilyzer

Archilyzer
git clone https://archilyzer.pages.dev/source/archilyzer.git
Log | Files | Refs | README | LICENSE

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:
Meditor/e2e/channel-priority.spec.ts | 16+++++++++++++++-
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")