90 lines
3.1 KiB
Markdown
90 lines
3.1 KiB
Markdown
# 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`:
|
|
|
|
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 profile 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/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
|
|
```
|