You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This directory specifies the testing strategy for the Agenta monorepo, covering all system interfaces: API, SDK, Web, Services, and Docs. The strategy uses orthogonal documents: principles describe the philosophy, boundaries describe architectural layers, dimensions describe filtering, structure describes folder layout, and interface documents describe per-component specifics.
Web acceptance requirements traceability matrix for the current OSS Playwright suite
Status Matrix
Test folder structure is now standardized across all components with manual/, legacy/, and pytest/|playwright/ containing acceptance/, integration/, unit/, and utils/ subdirectories.
Component
Unit Tests
Integration Tests
Acceptance Tests
Manual Tests
CI
API
Structure ready
Structure ready
✅ 155 tests across 7 domains
✅ HTTP files, scripts
Linting only
SDK
✅ 22 tests (tracing decorators)
Structure ready
✅ 66 tests (SDK against live API)
✅ Workflow tests, imports
Linting only
Web
✅ Jotai atom tests (colocated)
Structure ready
✅ Playwright feature suites
✅ Data layer tests (manual)
Linting only
Services
Structure ready
Structure ready
Structure ready
✅ smoke.http
N/A
Docs
N/A
N/A
Planned (link checking, build)
N/A
N/A
Quick Start: Running Tests
API Tests
# Run all E2E testscd api
AGENTA_API_URL=http://localhost:10180/api AGENTA_AUTH_KEY=change-me-auth \
python -m pytest oss/tests/pytest/ -v
# Run smoke tests only (fast subset)
python -m pytest oss/tests/pytest/ -v -m coverage_smoke
# Run specific domain
python -m pytest oss/tests/pytest/acceptance/workflows/ -v
# Run with dimension filters
python -m pytest oss/tests/pytest/ -v -m "coverage_smoke and path_happy"
python -m pytest oss/tests/pytest/ -v -m "cost_free"# Exclude paid tests
SDK Tests
# Run all tests (unit + E2E)cd sdk
AGENTA_API_URL=http://localhost:10180/api AGENTA_AUTH_KEY=change-me-auth \
uv run pytest oss/tests/pytest/ -v
# Run unit tests only (no external deps)
uv run pytest oss/tests/pytest/unit/ -v
# Run acceptance tests only (requires running API)
uv run pytest oss/tests/pytest/acceptance/ -v -m acceptance
# Run with dimension filters
uv run pytest oss/tests/pytest/acceptance/ -v -m "coverage_smoke and cost_free"
Web Tests
cd web/tests
# Run smoke tests (OSS) - AGENTA_LICENSE not needed when path is explicit
AGENTA_WEB_URL=http://localhost:10180 \
TESTMAIL_NAMESPACE=<your-namespace> \
TESTMAIL_API_KEY=<your-key> \
npx playwright test ../oss/tests/playwright/acceptance/smoke.spec.ts
# Run smoke tests (EE)
AGENTA_WEB_URL=http://localhost:10180 \
TESTMAIL_NAMESPACE=<your-namespace> \
TESTMAIL_API_KEY=<your-key> \
npx playwright test ../ee/tests/playwright/acceptance/smoke.spec.ts
# Run all acceptance tests for a specific feature (OSS)
npx playwright test ../oss/tests/playwright/acceptance/settings/
# Run with tag filters (requires AGENTA_LICENSE when using default testDir)
AGENTA_LICENSE=oss npx playwright test --grep "@coverage:smoke"
AGENTA_LICENSE=oss npx playwright test --grep "@coverage:smoke.*@cost:free"