Skip to main content



When adding any new features to the application, we always write tests alongside our code. This may be in the form of testing:

  • the user interface interactions from the end users perspective through Cypress end to end tests.
  • the interaction from a request perspective through integration tests.
  • a single function/method in isolation with its possible inputs and outputs through unit and functional tests.
  • JavaScript code whether it be logic in a pack file or a Preact component through frontend tests.

We also encourage manual, accessibility and regression when the need arises.

We track our code coverage in each new PR using Codecov.


Whilst we do not have a dedicated QA environment, if it is essential that your branch gets tested on production before we can go live, we encourage you to either put it behind a feature flag or we can manually deploy the branch to a Forem for testing.