3.9 KiB
Leagues BDD E2E Tests
This directory contains BDD (Behavior-Driven Development) E2E tests for the GridPilot leagues functionality.
Test Coverage
1. Leagues Discovery (leagues-discovery.spec.ts)
Tests the leagues discovery page where drivers can find and filter leagues.
Scenarios:
- Driver sees list of available leagues
- Driver can search for leagues by name or description
- Driver can filter leagues by category
- Driver can navigate to league details
- Driver can initiate league creation
2. League Detail (league-detail.spec.ts)
Tests the main league overview page.
Scenarios:
- Driver sees league information and statistics
- Driver can join or leave a league
- Driver can navigate to sub-pages (roster, schedule, etc.)
- Admin can access management pages (settings, wallet, etc.)
3. League Roster (league-roster.spec.ts)
Tests the league member list and management.
Scenarios:
- Driver sees list of members and their roles
- Admin can promote/demote members
- Admin can manage membership requests
4. League Schedule (league-schedule.spec.ts)
Tests the league race schedule and registration.
Scenarios:
- Driver sees upcoming and completed races
- Driver can register for or unregister from races
- Admin can manage the race schedule and import results
5. League Standings (league-standings.spec.ts)
Tests the championship standings and driver statistics.
Scenarios:
- Driver sees ranked list of drivers by points
- Driver can sort and filter standings
- Driver sees standings history and trends
6. League Creation (league-create.spec.ts)
Tests the multi-step league creation wizard.
Scenarios:
- Driver can configure basic info, structure, schedule, scoring, and stewarding
- Driver can review and confirm league creation
- Validation of required fields and settings
7. League Settings (league-settings.spec.ts)
Tests the league administration and configuration.
Scenarios:
- Admin can update league info and visibility
- Admin can configure scoring, penalties, and stewarding rules
- Admin can manage the stewarding team
- Admin can archive or delete the league
8. League Wallet (league-wallet.spec.ts)
Tests the financial management of a league.
Scenarios:
- Admin sees balance, revenue, and fees
- Admin views transaction history and filters
- Admin manages payouts and deposits
9. League Sponsorships (league-sponsorships.spec.ts)
Tests the sponsorship management for leagues.
Scenarios:
- Admin manages sponsorship slots and requests
- Admin tracks sponsorship revenue
10. League Stewarding (league-stewarding.spec.ts)
Tests the protest and penalty management system.
Scenarios:
- Steward reviews protests and issues decisions
- Steward manages penalties and appeals
- Steward communicates with drivers regarding incidents
Test Philosophy
These tests follow the BDD testing concept defined in plans/bdd_testing_concept.md:
- Focus on Outcomes: Tests validate final user outcomes, not visual implementation.
- Gherkin Syntax: Tests use Given/When/Then structure in comments.
- Acceptance Criteria: Tests serve as the final source of truth for league functionality.
- Playwright: Tests use Playwright for E2E testing.
Implementation Notes
- All test files are placeholders with TODO comments.
- Tests should be implemented using Playwright.
- Authentication setup should be shared across tests.
- Tests should validate final user outcomes, not implementation details.
- Tests should be independent and can run in any order.
Directory Structure
tests/e2e/bdd/leagues/
├── leagues-discovery.spec.ts
├── league-detail.spec.ts
├── league-roster.spec.ts
├── league-schedule.spec.ts
├── league-standings.spec.ts
├── league-create.spec.ts
├── league-settings.spec.ts
├── league-wallet.spec.ts
├── league-sponsorships.spec.ts
├── league-stewarding.spec.ts
└── README.md