Files
Max 9b79856827 feat(ui): implement 'Twilight Velvet' dark theme and fix visibility issues
- Add 'Twilight Velvet' color palette to globals.css with OKLCH values
- Update SettingsPage headers, cards, and dialogs to use semantic theme variables
- Update HistoryCard, HistoryFeed, and DraftContent to support dark mode
- Update ProviderSelector and ProviderList to use custom card background (#2A2A3D)
- Add ThemeToggle component with improved visibility
- Ensure consistent use of 'bg-card', 'text-foreground', and 'text-muted-foreground'
2026-01-27 11:03:55 +07:00
..

Test Suite Documentation

This project uses Playwright for End-to-End (E2E) testing.

Setup

  1. Install dependencies: ```bash npm install ```

  2. Setup environment: ```bash cp .env.example .env

    Update .env with local configuration if needed

    ```

  3. Install Playwright browsers: ```bash npx playwright install ```

Running Tests

  • Run all E2E tests: ```bash npm run test:e2e ```

  • Run in UI mode (interactive): ```bash npx playwright test --ui ```

  • Run specific test file: ```bash npx playwright test tests/e2e/example.spec.ts ```

Architecture

We follow a structured pattern for maintainable tests:

  • tests/e2e/: Contains the actual test files.
  • tests/support/fixtures/: Playwright fixtures. Use test from here, not @playwright/test.
  • tests/support/fixtures/factories/: Data factories for generating test data.

Best Practices

  1. Use data-testid: Prefer page.getByTestId('submit-btn') over CSS/XPath selectors.
  2. Atomic Tests: Each test should be independent and run in isolation.
  3. Use Factories: Don't hardcode data. Use userFactory.createUser() to get fresh data.
  4. Network First: When testing external APIs, use network interception to avoid flakiness.