123df671f5
Reviewed-on: #5 Co-authored-by: David Gwilliam <dhgwilliam@gmail.com> Co-committed-by: David Gwilliam <dhgwilliam@gmail.com>
4.5 KiB
4.5 KiB
Testing Summary
Overview
This document summarizes the testing status for EuchreCamp, including user stories, acceptance tests, and current test coverage.
Test Organization
Unit Tests (Vitest)
Location: src/__tests__/ (excluding e2e/ directory)
Navigation.test.tsx- Navigation component testsEditTournamentForm.test.tsx- Tournament form component testsauth-simple.test.ts- Authentication helper tests
Acceptance Tests (Playwright)
Location: src/__tests__/e2e/
account-acceptance.test.ts- Account lifecycle (UI-based)account-acceptance-api.test.ts- Account lifecycle (API-based)epic1-auth-registration.test.ts- User registrationepic1-auth-logout.test.ts- User logoutepic1-auth-password-reset.test.ts- Password reset (placeholder)epic3-rankings.test.ts- Rankings pageepic4-tournament-creation.test.ts- Tournament creation
Test Results
Unit Tests (Vitest)
Test Files 3 passed (3)
Tests 14 passed (14)
Acceptance Tests (Playwright)
8 passed, 12 failed (out of 20 tests)
Passing Tests:
- Account API registration (via API)
- Account API login (via API)
- Account API deletion (via API)
- Navigation logout button visibility
- Tournament form displays
- Tournament form has required fields
- Tournament form submission
Failing Tests:
- Account registration (UI) - Better Auth client issue
- Account login (UI) - Better Auth client issue
- Logout session clearing - Better Auth cookie issue
- Registration duplicate email validation
- Registration password validation
- User profile linking
User Stories to Tests Mapping
See USER_STORIES_TO_TESTS.md for detailed mapping.
Epic 1: Authentication & User Management
| User Story | Status |
|---|---|
| Registration | ⚠️ Partial (API works, UI needs fix) |
| Login | ⚠️ Partial (API works, UI needs fix) |
| Logout | ⚠️ Partial (UI shows logout, session clearing needs fix) |
| Password Reset | ❌ Not implemented |
Epic 2: Player Profile & Analytics
| User Story | Status |
|---|---|
| View profile | ❌ No tests |
| Partnership performance | ❌ No tests |
| Recent games | ❌ No tests |
| Tournament history | ❌ No tests |
Epic 3: Rankings & Public Data
| User Story | Status |
|---|---|
| Rankings page | ⚠️ Basic test exists |
| Public profiles | ❌ No tests |
Epic 4: Tournament Management
| User Story | Status |
|---|---|
| Create tournament | ⚠️ Partial (form tests exist) |
| Manage participants | ❌ No tests |
| Create teams | ❌ No tests |
| Generate schedule | ❌ No tests |
| Record match results | ❌ No tests |
| CSV upload | ❌ No tests |
| Tournament analytics | ❌ No tests |
Epic 5: Match Recording & CSV Import
| User Story | Status |
|---|---|
| Record match result | ❌ No tests |
| CSV import | ❌ No tests |
| Edit match results | ❌ No tests |
Epic 6: Club Administration
| User Story | Status |
|---|---|
| Manage players | ❌ No tests |
| Manage tournaments | ❌ No tests |
| Configure settings | ❌ No tests |
| View analytics | ❌ No tests |
Epic 7: Mobile Responsiveness
| User Story | Status |
|---|---|
| Mobile navigation | ❌ No tests |
| Mobile form entry | ❌ No tests |
Epic 8: Data Management & Export
| User Story | Status |
|---|---|
| Export data | ❌ No tests |
| Import data | ❌ No tests |
Running Tests
Unit Tests
npm run test:run
Acceptance Tests
# Ensure Next.js dev server is running first
npm run dev
# In another terminal
npm run test:acceptance
Headed Acceptance Tests (for debugging)
npm run test:acceptance:headed
Known Issues
Better Auth Configuration
Some acceptance tests fail because Better Auth client methods aren't working correctly in the test environment. The API endpoints work, but the client-side auth methods may need additional configuration.
Workaround: Use direct API calls in tests instead of client methods.
Database Setup
The database needs to be migrated before running tests:
npx prisma migrate dev --name init
Playwright Test Isolation
Playwright tests should be run in the e2e/ directory to avoid conflicts with Vitest tests.
Next Steps
- Fix Better Auth client configuration for UI-based tests
- Add tests for Epic 2 (Player Profile)
- Add tests for Epic 5 (Match Recording)
- Add tests for Epic 6 (Club Administration)
- Add mobile responsiveness tests
- Add data import/export tests