aboutsummaryrefslogtreecommitdiff
path: root/docs/internal/FrontendTesting.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/internal/FrontendTesting.md')
-rw-r--r--docs/internal/FrontendTesting.md28
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.