Philosophy
Tests​
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.
QA​
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.