End-to-end tests for the entire ecosystem: Portabase, agent, and CLI.
Technologies:
- Playwright 1.60.0
- Node (TypeScript) with pnpm
- Docker Compose
Requirements:
- Node.js with pnpm
- Docker and Docker Compose
- just command runner
Setup:
- Install dependencies:
pnpm install - Install Playwright browsers:
pnpm playwright install - Copy
.env.exampleto.envand fill in the required values (used for OIDC configuration)
Running the suite, via just recipes (see justfile):
just e2e-auto: spins up the Docker stack (database, OIDC providers, server), seeds auth data, runs the full Playwright suite headlessly, then tears the stack downjust e2e-manual: same setup as above, but opens the Playwright UI (--ui) instead of running headlessly, so you can pick and debug individual tests
Both recipes call e2e-before to start the stack and seed data, and e2e-clean to tear it down afterwards. If a run fails, e2e-clean is still triggered to avoid leaving containers running.
This repo exposes .github/workflows/run-e2e.yml as a reusable workflow for running the shared E2E suite.
Inputs:
server_image(optional): full image reference for the Portabase Server under testagent_image(optional): full image reference for the Portabase Agent under test
Defaults:
- If
server_imageis omitted, Compose falls back toportabase/portabase:latest - If
agent_imageis omitted, Compose falls back toportabase/agent:latest
- Initial setup and seed-dependent bootstrap flows
- Credential-based authentication: register, login, logout
- OIDC authentication flows
- Access management flows
- Agent flows
- Project flows
- Notification integrations
- Storage integrations