Files
euchre_camp/docs/TESTING_SUMMARY.md
david 123df671f5 nextjs-rewrite (#5)
Reviewed-on: #5
Co-authored-by: David Gwilliam <dhgwilliam@gmail.com>
Co-committed-by: David Gwilliam <dhgwilliam@gmail.com>
2026-03-30 02:30:13 +00:00

166 lines
4.5 KiB
Markdown

# 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 tests
- `EditTournamentForm.test.tsx` - Tournament form component tests
- `auth-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 registration
- `epic1-auth-logout.test.ts` - User logout
- `epic1-auth-password-reset.test.ts` - Password reset (placeholder)
- `epic3-rankings.test.ts` - Rankings page
- `epic4-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
```bash
npm run test:run
```
### Acceptance Tests
```bash
# Ensure Next.js dev server is running first
npm run dev
# In another terminal
npm run test:acceptance
```
### Headed Acceptance Tests (for debugging)
```bash
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:
```bash
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
1. Fix Better Auth client configuration for UI-based tests
2. Add tests for Epic 2 (Player Profile)
3. Add tests for Epic 5 (Match Recording)
4. Add tests for Epic 6 (Club Administration)
5. Add mobile responsiveness tests
6. Add data import/export tests