ghostguild-org/e2e/member-dashboard.spec.js
Jennie Robinson Faber 1e30ba23cd
Some checks are pending
Test / vitest (push) Waiting to run
Test / playwright (push) Blocked by required conditions
Test / visual (push) Blocked by required conditions
feat: add testing infrastructure — Vitest, Playwright, CI, git hooks
Add comprehensive testing covering 420 unit/handler tests across 24 Vitest
files, 9 Playwright E2E specs, accessibility scans, and visual regression.
Includes GitHub Actions CI, Husky pre-push hook, and TESTING.md docs.
2026-04-04 16:07:21 +01:00

35 lines
1.2 KiB
JavaScript

import { test, expect } from './helpers/fixtures.js'
test.describe('Member dashboard', () => {
test('dashboard loads for authenticated user', async ({ adminPage }) => {
await adminPage.goto('/member/dashboard')
await expect(adminPage.getByText('Welcome back')).toBeVisible({ timeout: 10000 })
})
test('shows navigation links', async ({ adminPage }) => {
await adminPage.goto('/member/dashboard')
// Wait for dashboard content to render
await expect(adminPage.getByText('Welcome back')).toBeVisible({ timeout: 10000 })
// Verify quick action links are present
await expect(adminPage.getByText('Update your profile')).toBeVisible()
await expect(adminPage.getByText('Browse members')).toBeVisible()
await expect(adminPage.getByText('Manage account')).toBeVisible()
})
test('unauthenticated shows sign-in prompt', async ({ browser }) => {
const context = await browser.newContext()
const page = await context.newPage()
await page.goto('/member/dashboard')
// Should show the sign-in required message or a login modal
await expect(
page.getByText('Sign in required').or(page.getByText('Sign in to your dashboard'))
).toBeVisible({ timeout: 10000 })
await context.close()
})
})