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 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.