From 1b3e6adac2883c8092742be26506b8a525a313c4 Mon Sep 17 00:00:00 2001 From: Alain Schlesser Date: Fri, 16 Oct 2026 03:09:38 +0200 Subject: [PATCH] test(ui-react): await cap retirement before polling the limit panel --- .../tests/browser/hygiene-actions-limit.layout.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/ui-react/tests/browser/hygiene-actions-limit.layout.tsx b/packages/ui-react/tests/browser/hygiene-actions-limit.layout.tsx index cabdf815a..3fd885c7a 100644 --- a/packages/ui-react/tests/browser/hygiene-actions-limit.layout.tsx +++ b/packages/ui-react/tests/browser/hygiene-actions-limit.layout.tsx @@ -95,9 +95,14 @@ async function fill(longFinding = false) { const result = await set({ longFinding, fillActions: true }); expect(result.read.review.pendingActionId, "cap clears the authoritative pointer").toBeUndefined(); expect(result.read.action).toBeNull(); + const reason = result.read.review.pauseReason!; + // Filling commits on the server before the browser drains the Action burst. + // Start the presentation deadline only after the real retirement reaches it. + await expect.poll(() => ui!.stores.inbox.getState().items[reason.retiredActionId]?.status, + { message: "cap retirement reaches the browser" }).toBe("dropped"); await expect.poll(() => panel()?.dataset.hygieneLimit).toBe("L1"); await expect.poll(() => host!.querySelector("[data-hygiene-id]"), { message: "retirement clears the visible finding" }).toBeNull(); - return result.read.review.pauseReason!; + return reason; } function noCard() { expect(host!.querySelector("[data-hygiene-id]"), "retirement renders no hygiene card").toBeNull();