Files
calendar/frontend/e2e
Connor Johnstone 7d00a2dadb
Some checks failed
Integration Tests / e2e-tests (push) Failing after 4s
Integration Tests / unit-tests (push) Failing after 1m1s
Implement comprehensive frontend integration testing with Playwright
- Add Playwright E2E testing framework with cross-browser support (Chrome, Firefox)
- Create authentication helpers for CalDAV server integration
- Implement calendar interaction helpers with event creation, drag-and-drop, and view switching
- Add comprehensive drag-and-drop test suite with event cleanup
- Configure CI/CD integration with Gitea Actions for headless testing
- Support both local development and CI environments with proper dependency management
- Include video recording, screenshots, and HTML reporting for test debugging
- Handle Firefox-specific timing and interaction challenges with force clicks and timeouts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-08 11:54:40 -04:00
..

Runway E2E Tests

End-to-end tests for the Runway Calendar application using Playwright.

Setup

  1. Install dependencies:

    npm install
    
  2. Install browser binaries:

    npm run install-browsers
    
  3. Install system dependencies (Arch Linux):

    npm run install-deps
    

Running Tests

Local Development

  • Run all tests: npm test
  • Run tests with browser UI: npm run test:headed
  • Debug tests: npm run test:debug
  • Interactive UI mode: npm run test:ui

Browser-specific Tests

  • Chrome only: npm run test:chromium
  • Firefox only: npm run test:firefox

CI/Headless Testing

Tests automatically run in headless mode when CI=true environment variable is set.

Test Structure

  • tests/auth.spec.ts - Authentication flow tests
  • tests/calendar-ui.spec.ts - General UI interaction tests
  • tests/drag-and-drop.spec.ts - Drag and drop functionality tests
  • helpers/auth-helpers.ts - Authentication test utilities
  • helpers/calendar-helpers.ts - Calendar interaction utilities

Environment Variables

For CI and automated testing:

  • TEST_CALDAV_SERVER - CalDAV server URL (default: http://localhost:3000/baikal)
  • TEST_CALDAV_USERNAME - Test user username (default: testuser)
  • TEST_CALDAV_PASSWORD - Test user password (default: testpass)
  • CI - Set to true for headless testing

Configuration

Test configuration is in playwright.config.ts:

  • Chromium and Firefox browsers for CI compatibility
  • Automatic headless mode in CI environments
  • Screenshot and video capture on failure
  • Timeout and retry settings optimized for WebAssembly apps