ghostguild-org/e2e/coming-soon.spec.js
Jennie Robinson Faber bab53cec9e
Some checks failed
Test / vitest (push) Successful in 12m45s
Test / playwright (push) Failing after 10m5s
Test / visual (push) Failing after 9m16s
merge: worktree-a11y-fixes into main
Accessibility fixes (aria-labels, color contrast, html lang, inline link
underlines), atomic dev login endpoints, and E2E test hardening.
2026-04-05 22:05:00 +01:00

45 lines
1.3 KiB
JavaScript

import { test, expect } from "@playwright/test";
test.describe("coming-soon page", () => {
test("renders with heading and login form", async ({ page }) => {
await page.goto("/coming-soon");
await expect(page.locator("h1")).toContainText("Ghost Guild");
await expect(page.locator('input[type="email"]')).toBeVisible();
await expect(
page.getByRole("button", { name: "Send Magic Link" }),
).toBeVisible();
});
test('shows "Coming Soon" text for unauthenticated visitors', async ({
page,
}) => {
await page.goto("/coming-soon");
await expect(page.getByText("Coming Soon")).toBeVisible();
});
});
test.describe("public routes accessible when gate is off", () => {
test("home page loads", async ({ page }) => {
await page.goto("/");
// Should not redirect to /coming-soon
expect(page.url()).not.toContain("/coming-soon");
await expect(page.locator("h1")).toBeVisible();
});
test("events page loads", async ({ page }) => {
await page.goto("/events");
expect(page.url()).not.toContain("/coming-soon");
await expect(page.locator("h1")).toContainText("Events");
});
test("join page loads", async ({ page }) => {
await page.goto("/join");
expect(page.url()).not.toContain("/coming-soon");
await expect(page.locator("h1")).toContainText("Join Ghost Guild");
});
});