24 lines
1.2 KiB
TypeScript
24 lines
1.2 KiB
TypeScript
import { expect, test } from '@playwright/test';
|
|
|
|
test.describe('homepage', () => {
|
|
test('renders the phase 1 scaffold and primary navigation', async ({ page }) => {
|
|
await page.goto('/');
|
|
|
|
await expect(page.getByRole('heading', { name: 'Holiday Property Booking' })).toBeVisible();
|
|
await expect(page.getByText('Phase 1 foundation')).toBeVisible();
|
|
await expect(page.getByRole('navigation', { name: 'Primary' })).toBeVisible();
|
|
await expect(page.getByRole('link', { name: 'Review foundation' })).toHaveAttribute('href', '#foundation');
|
|
await expect(page.getByRole('link', { name: 'Check health' })).toHaveAttribute('href', '/api/health');
|
|
});
|
|
|
|
test('shows the core planning sections', async ({ page }) => {
|
|
await page.goto('/');
|
|
|
|
await expect(page.getByRole('heading', { name: 'Foundation work starts here' })).toBeVisible();
|
|
await expect(page.getByRole('heading', { name: 'The implementation stack is locked' })).toBeVisible();
|
|
await expect(page.getByRole('heading', { name: 'The first schema pass is ready' })).toBeVisible();
|
|
await expect(page.getByRole('heading', { name: 'Ready for the first implementation slice' })).toBeVisible();
|
|
});
|
|
});
|
|
|