From 73ed89c15acf969800c987e32e9039a2a10d2b87 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 14 Jan 2026 16:32:35 +0000 Subject: [PATCH] test(e2e): verify activity feed stays visible after reload Adds a browser-level regression test ensuring the feed renders with the dark container and remains visible after a full reload. Co-authored-by: dennis --- e2e/activity-feed.spec.ts | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 e2e/activity-feed.spec.ts diff --git a/e2e/activity-feed.spec.ts b/e2e/activity-feed.spec.ts new file mode 100644 index 0000000..8223031 --- /dev/null +++ b/e2e/activity-feed.spec.ts @@ -0,0 +1,32 @@ +import { test, expect } from "@playwright/test"; + +test.describe("ActivityFeed reload rendering", () => { + test("feed stays visible and dark after reload", async ({ page }) => { + await page.goto("/en", { waitUntil: "domcontentloaded" }); + + const feed = page.locator('[class*="bg-black/95"]').filter({ hasText: "Live Activity" }).first(); + await expect(feed).toBeVisible({ timeout: 15000 }); + + const initialBox = await feed.boundingBox(); + expect(initialBox).not.toBeNull(); + expect(initialBox!.width).toBeGreaterThan(200); + expect(initialBox!.height).toBeGreaterThan(30); + + const initialOpacity = await feed.evaluate((el) => getComputedStyle(el).opacity); + expect(Number(initialOpacity)).toBeGreaterThan(0.5); + + await page.reload({ waitUntil: "domcontentloaded" }); + + const feedAfter = page.locator('[class*="bg-black/95"]').filter({ hasText: "Live Activity" }).first(); + await expect(feedAfter).toBeVisible({ timeout: 15000 }); + + const afterBox = await feedAfter.boundingBox(); + expect(afterBox).not.toBeNull(); + expect(afterBox!.width).toBeGreaterThan(200); + expect(afterBox!.height).toBeGreaterThan(30); + + const afterOpacity = await feedAfter.evaluate((el) => getComputedStyle(el).opacity); + expect(Number(afterOpacity)).toBeGreaterThan(0.5); + }); +}); +