diff --git a/tests/ui-on-call-boards.spec.ts b/tests/ui-on-call-boards.spec.ts index 6684489bf0..23420b181c 100644 --- a/tests/ui-on-call-boards.spec.ts +++ b/tests/ui-on-call-boards.spec.ts @@ -563,6 +563,12 @@ test.describe("02 More — the second row is about the page you are on", () => { // slug from the word in the bar and checks it against that `admin-help-` // prefix, which holds for every word this page's rail can show. await openBoard(page, ROUTES.logistics); + // While the rows load, every section (Support included) is drawn as a skeleton. Once they + // arrive, Support drops out when it has no rows (admin-help-page.tsx), so read the bar only + // after loading has finished, or a slower engine reads a word the settled page no longer has. + await expect(page.locator('[data-testid^="admin-help-"][data-testid$="-loading"]')).toHaveCount(0, { + timeout: 20_000, + }); for (const label of await barWords(page, ADMIN_SECTION_HEADER_PREFIX)) { const slug = label .trim()