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') }) })