~14,000
automated unit and integration tests across 6 code bases
96%
frontend line coverage (floor 90%)
80%
Drupal line coverage floor
94–95%
finder service coverage (floors 92–95%)
~700
browser end-to-end cases
Coverage by application
| Application | Test types | Size | Coverage (measured) | Enforced floor | Where it runs |
|---|---|---|---|---|---|
| Frontend (padi.com) | Unit, component (Storybook with accessibility checks), browser end-to-end | About 7,600 unit cases, 146 story files, 43 browser specs (about 425 cases) | Lines 96.4%, branches 91.4%, functions 93.2% | 90% on lines, statements, functions and branches | Pull-request gate; verify stage in every environment; 4-test smoke after every deploy |
| Edge Workers (edge.padi.com) | Unit and routing tests, live URL replay | About 800 tests | Lines 99.6%, branches 95.8% | — | Pull-request gate and verify stage; replay of real URLs after each deploy |
| search.padi.com | Unit, integration against real OpenSearch and PostGIS, infrastructure tests | 178 test files, about 1,300 test functions, 190 infrastructure cases | API 93.6%; data 58.4% unit, 94.2% with integration | API 92%; data 58% unit, 94% with integration | Pull-request gate, verify and coverage stages |
| locator.padi.com | Unit, API contract | 57 test files, about 460 test functions | 95.3% | 95% | Pull-request gate and verify stage |
| CI library (ci.padi.com) | Unit, shell checks, image builds | About 120 cases | — | — | Release gate |
| End-to-end suite | Sign-in, authoring and content moderation by role, media upload, WCAG 2.1 AA checks, Lighthouse audits, visual snapshots, migration validation | About 95 cases: accessibility on 9 page templates, Lighthouse on 40 URLs, visual snapshots on 2 pages | n/a | n/a | On demand against any environment, with HTML and Allure reports |
| Contract suite | Authoring, editorial workflow, API contract, reader journeys, finder, three browsers | About 250 cases | n/a | n/a | On demand |
Coverage figures were measured in early November 2026; each pipeline enforces its floor on every change. The frontend and Drupal pipelines also send their coverage to Datadog, where a dashboard shows it against the floor.
Journeys and their automated coverage
| Journey | Automated coverage |
|---|---|
| Home and site shell | Post-deploy smoke; end-to-end smoke |
| Localised routing and legacy redirects | Real-URL replay after edge deploys; browser routing suite (about 215 cases) |
| Content pages and paragraph rendering | Unit and component tests; the contract suite checks content order |
| Blog listing, filters, load more | Unit tests; contract suite in three browsers |
| Finder in a browser | Service integration tests; contract suite with the locator contract |
| Website search | Service integration tests |
| Editorial workflow and publish | Kernel tests; production smoke; end-to-end authoring and content moderation tests for each editorial role; contract suite |
| Media | End-to-end media upload tests |
| Translation round trip | Kernel tests (87 test classes in the translation module) |
| Preview | Unit tests; contract suite |
| Sign-in | Unit and link tests; end-to-end sign-in test |
| MyPADI | Unit tests (97.8% lines); load-test kit |
| Accessibility | Component checks in Storybook; WCAG 2.1 AA checks on 9 page templates |
| Visual | Visual snapshots of key pages |
| Performance | Lighthouse audits of 40 URLs |
| Load | Load-test kits for the website and finder |