Testing¶
Every push and pull request runs the app repository's CI: generated code and formatting checks, go vet, the Go unit and integration tests with the race detector, the UI's typecheck and unit tests, Helm chart checks for every values overlay, the image build and the end-to-end suite on an ephemeral k3d cluster. Contributing has the commands to run each of them locally.
What the tests cover¶
- Unit tests for the workflow engine and CEL, the query language parser and compiler, ranking, password and token handling, rate limiting, SLA clocks on business-hours calendars (holidays, pauses and daylight-saving changes) and the SSRF guard on outbound requests.
- Integration tests run the whole server against PostgreSQL, one fresh database per test cloned from a migrated template: issues, workflows and migrations, boards and sprints, search, metrics, automation and webhooks, GitHub and GitLab deliveries, SCIM, Google and Keycloak directory sync against fakes of their APIs, OIDC sign-in, groups from tokens, back-channel and single logout and identity-provider access tokens against a fake IdP, local accounts, OAuth for MCP clients, email, time tracking, the Jira importer against a fake Jira, and the service desk's customer isolation.
- End-to-end tests (Playwright) drive the UI: boards and backlog, the issue view, search, workflows, dashboards, timeline, live updates, automation, chat channels, time tracking, local accounts, the OAuth consent page, email notifications, the service desk from a customer's request through to an approval, and the Jira import wizard.
- Accessibility: an axe audit of every main page in light and dark mode fails on any serious or critical WCAG 2.1 A/AA violation.
- Scale:
test/scaleseeds 100,000 issues with 360,000 history rows and times the API endpoints and the heaviest pages in a browser.