Files
gridpilot.gg/tests/e2e/leagues/README.md
2026-01-23 12:56:53 +01:00

123 lines
3.9 KiB
Markdown

# 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`:
1. **Focus on Outcomes**: Tests validate final user outcomes, not visual implementation.
2. **Gherkin Syntax**: Tests use Given/When/Then structure in comments.
3. **Acceptance Criteria**: Tests serve as the final source of truth for league functionality.
4. **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
```