Profile BDD E2E Tests
This directory contains BDD (Behavior-Driven Development) E2E tests for the GridPilot profile functionality.
Test Coverage
1. Profile Main (profile-main.spec.ts)
Tests the main profile page where drivers can view and manage their profile.
Scenarios:
- Driver sees their profile information
- Driver can navigate to profile sub-pages
- Driver sees profile statistics and achievements
- Driver can view their avatar and personal details
2. Profile Leagues (profile-leagues.spec.ts)
Tests the profile leagues page where drivers can view their league memberships.
Scenarios:
- Driver sees list of leagues they are a member of
- Driver can view league details from their profile
- Driver can leave a league from their profile
- Driver sees league status and upcoming races
3. Profile Liveries (profile-liveries.spec.ts)
Tests the profile liveries page where drivers can manage their racing liveries.
Scenarios:
- Driver sees list of uploaded liveries
- Driver can view livery details and validation status
- Driver can navigate to livery upload page
- Driver sees livery preview and metadata
4. Profile Livery Upload (profile-livery-upload.spec.ts)
Tests the livery upload functionality for drivers.
Scenarios:
- Driver can upload a new livery
- Driver sees upload progress and validation
- Driver receives confirmation after successful upload
- Driver sees error messages for invalid uploads
5. Profile Settings (profile-settings.spec.ts)
Tests the profile settings page where drivers can update their personal information.
Scenarios:
- Driver can view their current profile settings
- Driver can update personal information
- Driver can save changes to their profile
- Driver sees validation errors for invalid input
6. Profile Sponsorship Requests (profile-sponsorship-requests.spec.ts)
Tests the sponsorship requests page where drivers can manage sponsorship opportunities.
Scenarios:
- Driver sees list of sponsorship requests
- Driver can accept sponsorship offers
- Driver can reject sponsorship offers
- Driver sees sponsorship details and terms
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 profile 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/profile/
├── profile-main.spec.ts
├── profile-leagues.spec.ts
├── profile-liveries.spec.ts
├── profile-livery-upload.spec.ts
├── profile-settings.spec.ts
├── profile-sponsorship-requests.spec.ts
└── README.md