Replace hash URLs with path-based routing, post-build prerender for money pages, Playwright smoke tests, and wrap the app in HelmetProvider so /donate mounts correctly. Co-authored-by: Cursor <cursoragent@cursor.com>
20 lines
747 B
TypeScript
20 lines
747 B
TypeScript
import { test, expect } from '@playwright/test'
|
|
|
|
test.describe('Assistance intake form', () => {
|
|
test('shows validation errors when required fields empty', async ({ page }) => {
|
|
await page.goto('/request-assistance/')
|
|
await page.getByRole('button', { name: /submit request/i }).click()
|
|
await expect(page.getByText(/required/i).first()).toBeVisible({ timeout: 20000 })
|
|
})
|
|
})
|
|
|
|
test.describe('Donate page', () => {
|
|
test('shows donate UI without mock payment success', async ({ page }) => {
|
|
page.on('dialog', () => {
|
|
throw new Error('Unexpected alert() on donate page')
|
|
})
|
|
await page.goto('/donate/')
|
|
await expect(page.getByRole('heading', { level: 1, name: 'Donate' })).toBeVisible({ timeout: 25000 })
|
|
})
|
|
})
|