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

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 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

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

  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