Proof-of-functionality#
In the CI + CD workflow, the concept of proof-of-functionality is used to determine if the build assets of a service are fit for three use cases.
For different services, different tests are considered to establish proof-of-functionality for different use-cases.
Service |
Docs publish |
GHCR publish |
Staging deploy |
---|---|---|---|
Catalog |
|||
Ingestion server |
|||
API |
|||
Frontend |
|||
Documentation |
Rationales#
Catalog#
The tests for the catalog in test-cat
are very comprehensive and rigorous,
including extended test suites using the --extended
flag. Passing these tests
conclusively proves that the catalog works as intended.
Ingestion server#
The ingestion server integration test in test-ing
invokes all the key
functionality of the ingestion server. Passing these tests conclusively proves
that the ingestion server works as intended.
API#
The API tests in test-api
include both unit tests for the API and integration
tests that explore the API’s functionality. These tests also include example
tests wherein the API’s output is compared to known-good output. Passing these
tests conclusively proves that the API works as intended.
Frontend#
The Playwright tests for the frontend in playwright
include E2E tests, visual
regression tests for the pages, and also tests for the Storybook stories.
Passing these tests conclusively proves that each individual component, and also
the frontend as a whole, looks and works as intended.