Files
gridpilot.gg/tests/e2e/bdd/leagues
2026-01-21 23:46:48 +01:00
..
2026-01-21 23:46:48 +01:00
2026-01-21 23:46:48 +01:00
2026-01-21 23:46:48 +01:00
2026-01-21 23:46:48 +01:00
2026-01-21 23:46:48 +01:00
2026-01-21 23:46:48 +01:00
2026-01-21 23:46:48 +01:00
2026-01-21 23:46:48 +01:00
2026-01-21 23:46:48 +01:00
2026-01-21 23:46:48 +01:00
2026-01-21 23:46:48 +01:00

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