code quality
Some checks failed
CI / lint-typecheck (pull_request) Failing after 13s
CI / tests (pull_request) Has been skipped
CI / contract-tests (pull_request) Has been skipped
CI / e2e-tests (pull_request) Has been skipped
CI / comment-pr (pull_request) Has been skipped
CI / commit-types (pull_request) Has been skipped
Some checks failed
CI / lint-typecheck (pull_request) Failing after 13s
CI / tests (pull_request) Has been skipped
CI / contract-tests (pull_request) Has been skipped
CI / e2e-tests (pull_request) Has been skipped
CI / comment-pr (pull_request) Has been skipped
CI / commit-types (pull_request) Has been skipped
This commit is contained in:
@@ -10,108 +10,12 @@
|
||||
* Focus: Final user outcomes - what the driver experiences in error scenarios
|
||||
*/
|
||||
|
||||
import { test, expect } from '@playwright/test';
|
||||
import { expect, test } from '@playwright/test';
|
||||
|
||||
test.describe('Dashboard Error States', () => {
|
||||
test('Driver cannot access dashboard without authentication', async ({ page }) => {
|
||||
// TODO: Implement test
|
||||
// Scenario: Unauthenticated access to dashboard
|
||||
// Given I am not authenticated
|
||||
// When I try to access the dashboard page directly
|
||||
// Then I should be redirected to the login page
|
||||
// And I should see an authentication required message
|
||||
});
|
||||
|
||||
test('Driver sees error message when dashboard API fails', async ({ page }) => {
|
||||
// TODO: Implement test
|
||||
// Scenario: Dashboard API error
|
||||
// Given I am a registered driver "John Doe"
|
||||
// And the dashboard API is unavailable
|
||||
// When I navigate to the dashboard page
|
||||
// Then I should see an error message
|
||||
// And I should see options to retry or contact support
|
||||
});
|
||||
|
||||
test('Driver sees error message when dashboard data is invalid', async ({ page }) => {
|
||||
// TODO: Implement test
|
||||
// Scenario: Dashboard data validation error
|
||||
// Given I am a registered driver "John Doe"
|
||||
// And the dashboard API returns invalid data
|
||||
// When I navigate to the dashboard page
|
||||
// Then I should see an error message
|
||||
// And I should see options to retry or contact support
|
||||
});
|
||||
|
||||
test('Driver sees empty dashboard when no data is available', async ({ page }) => {
|
||||
// TODO: Implement test
|
||||
// Scenario: New driver with no data
|
||||
// Given I am a newly registered driver
|
||||
// And I have no race history or upcoming races
|
||||
// When I navigate to the dashboard page
|
||||
// Then I should see the dashboard layout
|
||||
// And I should see my basic driver stats (rating, rank, etc.)
|
||||
// And I should see empty states for upcoming races
|
||||
// And I should see empty states for championship standings
|
||||
// And I should see empty states for recent activity
|
||||
});
|
||||
|
||||
test('Driver dashboard handles network timeout gracefully', async ({ page }) => {
|
||||
// TODO: Implement test
|
||||
// Scenario: Network timeout
|
||||
// Given I am a registered driver "John Doe"
|
||||
// And the dashboard API times out
|
||||
// When I navigate to the dashboard page
|
||||
// Then I should see a timeout error message
|
||||
// And I should see a retry button
|
||||
});
|
||||
|
||||
test('Driver dashboard handles server error (500) gracefully', async ({ page }) => {
|
||||
// TODO: Implement test
|
||||
// Scenario: Server error
|
||||
// Given I am a registered driver "John Doe"
|
||||
// And the dashboard API returns a 500 error
|
||||
// When I navigate to the dashboard page
|
||||
// Then I should see a server error message
|
||||
// And I should see options to retry or contact support
|
||||
});
|
||||
|
||||
test('Driver dashboard handles not found error (404) gracefully', async ({ page }) => {
|
||||
// TODO: Implement test
|
||||
// Scenario: Not found error
|
||||
// Given I am a registered driver "John Doe"
|
||||
// And the dashboard API returns a 404 error
|
||||
// When I navigate to the dashboard page
|
||||
// Then I should see a not found error message
|
||||
// And I should see options to retry or contact support
|
||||
});
|
||||
|
||||
test('Driver dashboard handles unauthorized error (401) gracefully', async ({ page }) => {
|
||||
// TODO: Implement test
|
||||
// Scenario: Unauthorized error
|
||||
// Given I am a registered driver "John Doe"
|
||||
// And my session has expired
|
||||
// When I navigate to the dashboard page
|
||||
// Then I should be redirected to the login page
|
||||
// And I should see an authentication required message
|
||||
});
|
||||
|
||||
test('Driver dashboard handles forbidden error (403) gracefully', async ({ page }) => {
|
||||
// TODO: Implement test
|
||||
// Scenario: Forbidden error
|
||||
// Given I am a registered driver "John Doe"
|
||||
// And I do not have permission to access the dashboard
|
||||
// When I navigate to the dashboard page
|
||||
// Then I should see a forbidden error message
|
||||
// And I should see options to contact support
|
||||
});
|
||||
|
||||
test('Driver dashboard handles validation error gracefully', async ({ page }) => {
|
||||
// TODO: Implement test
|
||||
// Scenario: Validation error
|
||||
// Given I am a registered driver "John Doe"
|
||||
// And the dashboard API returns validation errors
|
||||
// When I navigate to the dashboard page
|
||||
// Then I should see a validation error message
|
||||
// And I should see options to retry or contact support
|
||||
test('Unauthenticated user is redirected to login when accessing dashboard', async ({ page }) => {
|
||||
await page.goto('/dashboard');
|
||||
await page.waitForURL('**/auth/login**');
|
||||
await expect(page.getByTestId('login-form')).toBeVisible();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user