From 49b65885deffd9d21414cf6690b9fcd9f80b8ca4 Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Tue, 20 Jan 2026 00:09:59 -0500 Subject: [PATCH] Add popover stress test --- tests/e2e/popover.spec.ts | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tests/e2e/popover.spec.ts b/tests/e2e/popover.spec.ts index 653281c3..329c8fbe 100644 --- a/tests/e2e/popover.spec.ts +++ b/tests/e2e/popover.spec.ts @@ -148,6 +148,42 @@ test.describe("popover layout scenarios", () => { expect(metrics.popoverMaxWidth).toBe(metrics.tokenMaxWidth); expect(metrics.tokenMaxWidth.length).toBeGreaterThan(0); }); + + test("stress tests popover triggers without console errors", async ({ page }) => { + const consoleErrors: string[] = []; + page.on("console", (message) => { + if (message.type() === "error") { + consoleErrors.push(message.text()); + } + }); + + await page.locator('[data-test-open-modal]').click(); + await expect(page.locator('[data-test-modal]')).toBeVisible(); + + const triggers = [ + '[data-test-trigger="grid-bottom-right"]', + '[data-test-trigger="modal-menu"]', + '[data-test-trigger="scroll-bottom"]', + ]; + + for (let pass = 0; pass < 4; pass += 1) { + const scrollRegion = page.locator('[data-test-scroll-region]'); + await scrollRegion.evaluate((node) => { + node.scrollTop = node.scrollHeight; + }); + + for (const selector of triggers) { + await page.locator(selector).click(); + await page.waitForTimeout(60); + } + + await page.click("body"); + await page.waitForTimeout(60); + await expect(page.locator('[data-popover-state="open"]')).toHaveCount(0); + expect(consoleErrors).toHaveLength(0); + consoleErrors.length = 0; + } + }); }); test.describe("popover demo alignments", () => {