Skip to main content

Frameworks

We use the following frameworks:
  • E2E tests: Playwright
  • API integration tests: Bun (functional tests)

Running tests

API Integration tests

Bun integration tests are located in tests/ (root directory) and test API endpoints with real database connections.
# Run all integration tests
bun run test

# Run specific tests
bun run test:health
bun run test:auth:basic
bun run test:github-status

E2E tests

E2E tests are located in e2e/tests/ and test the full application flow in a real browser environment.
Note: Playwright browsers are automatically installed via postinstall script when dependencies are installed.
Prerequisites:
  • Set up environment variables in e2e/.env (see e2e/README.md for details)
  • Ensure PostgreSQL database is running and schema is initialized
# Run all E2E tests
bun run test:e2e

# Run smoke tests only
bun run test:e2e:login

# Run with UI (interactive)
bun run test:e2e:ui

# Run in debug mode
bun run test:e2e:debug

# Run in headed mode (see browser)
bun run test:e2e:headed
Note: Before running other E2E tests, authenticate first by running bun run test:e2e:auth-setup to save authenticated state.

GitHub Actions

Each test suite has a corresponding GitHub Action workflow which run daily. Each workflow supports workflow_dispatch, which enables manual runs against committed branches.