> ## Documentation Index
> Fetch the complete documentation index at: https://omnilens-626cb878.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Test Suites

> An overview of the available test suites

# 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.

```bash theme={null}
# 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

```bash theme={null}
# 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.
