P1: path routing, prerender shells, E2E, and HelmetProvider donate fix.

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 <[email protected]>
This commit is contained in:
defiQUG
2026-06-16 11:11:20 -07:00
co-authored by Cursor
parent 6c0de165d3
commit 4e4df13ab1
33 changed files with 2545 additions and 2324 deletions
+19
View File
@@ -0,0 +1,19 @@
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 })
})
})