From 9d67c3bdf522be0e06c01b75942ea12b04498351 Mon Sep 17 00:00:00 2001 From: Dotta Date: Wed, 12 Aug 2026 15:31:51 +0000 Subject: [PATCH] test(ui): wait for storybook dialog rendering Co-Authored-By: Paperclip --- .../storybook-visual/new-issue-dialog-viewport.spec.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/storybook-visual/new-issue-dialog-viewport.spec.ts b/tests/storybook-visual/new-issue-dialog-viewport.spec.ts index 367fa977ee5..b5d154f0b69 100644 --- a/tests/storybook-visual/new-issue-dialog-viewport.spec.ts +++ b/tests/storybook-visual/new-issue-dialog-viewport.spec.ts @@ -39,9 +39,17 @@ async function renderDialog(page: Page, viewport: ViewportCase) { await page.setViewportSize({ width: viewport.width, height: viewport.layoutHeight }); await installVisualViewport(page, viewport.layoutHeight); await page.goto(`/iframe.html?id=${STORY_ID}&viewMode=story`, { waitUntil: "load" }); + await page.waitForFunction(() => { + const body = document.body; + return body.classList.contains("sb-show-main") || body.classList.contains("sb-show-errordisplay"); + }); + expect( + await page.locator(".sb-show-errordisplay").count(), + `story ${STORY_ID} threw during render`, + ).toBe(0); const dialog = page.locator('[data-slot="dialog-content"]'); - await expect(dialog).toBeVisible(); + await expect(dialog).toBeVisible({ timeout: 15_000 }); await expect(page.getByRole("button", { name: "Create Task" })).toBeEnabled(); return dialog; }