diff options
Diffstat (limited to 'docs/internal/FrontendTesting.md')
-rw-r--r-- | docs/internal/FrontendTesting.md | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/docs/internal/FrontendTesting.md b/docs/internal/FrontendTesting.md new file mode 100644 index 000000000..1320c55a6 --- /dev/null +++ b/docs/internal/FrontendTesting.md @@ -0,0 +1,28 @@ +# Frontend testing + +We have a mixture of typescript in the main website's code (located in `static/tests`) and Cypress (located in `cypress/integration`) to test and report on the workings of that code. + +But there's always the possibility to use Cypress code to do UI checks and testing. + +## Recommended + +The recommended way of testing is to use typescript to test the inner workings of the various interfaces that are available. + +This has the advantage of having types and being able to verify your code is consistent with the rest of the website and probably going to run correctly - without having to startup the website and Cypress. + +## Adding a test + +Steps to add a test: + +* Create a new file in `static/tests` (copy paste from `static/tests/hello-world.ts`) +* Make sure to change the `description` as well as the test +* Add the file to the imports of `static/tests/_all.js` +* Add a `runFrontendTest()` call with the new test description to `cypress/integration/frontend-testing.js` + +## Starting tests locally + +You don't need to install an entire X server to actually run cypress (just xfvb). + +You can find a complete list at https://docs.cypress.io/guides/getting-started/installing-cypress#System-requirements + +If you have the prerequisites installed, you should be able to run `npx cypress run` - however, you will need to start the CE website seperately in another terminal before that. |