fix: analytics E2E tests for post-auth-setup consent state

The auth setup project accepts analytics consent for the admin user
before tests run. The E2E tests incorrectly expected the consent page
to appear on subsequent logins. Fixed by:

- analytics-consent: verify home loads without consent redirect instead
  of expecting the consent page to appear
- analytics-privacy-policy: use getByRole("link") for PostHog/Sentry
  links to avoid matching multiple elements with getByText
- analytics-no-data-leak: use page.evaluate with in-browser auth token
  to toggle analytics via API instead of separate login calls that hit
  the rate limiter; handle both "/" and "/analytics-consent" post-login
This commit is contained in:
ashim-hq
2026-04-23 10:51:58 +08:00
parent e46356c4d5
commit de7b353871
3 changed files with 123 additions and 107 deletions
@@ -37,8 +37,8 @@ test.describe("Privacy policy page", () => {
test("mentions PostHog and Sentry by name", async ({ page }) => {
await page.goto("/privacy");
await expect(page.getByText("PostHog")).toBeVisible({ timeout: 10_000 });
await expect(page.getByText("Sentry")).toBeVisible({ timeout: 10_000 });
await expect(page.getByRole("link", { name: "PostHog" })).toBeVisible({ timeout: 10_000 });
await expect(page.getByRole("link", { name: "Sentry" })).toBeVisible({ timeout: 10_000 });
});
test("shows correct last-updated date", async ({ page }) => {