This repository is using the playwright framework to provide E2E to help developers of the project to speed up development and provide a more stable and secure product.
In case you wanna help by adding some tests, playwright got a awsome documentaion here but here are some basics we already took care of so you can start right away.
- A setup version of CTRLPanel with the version you wanna test
- A admin account & a user account on this panel
- Basic knowlage of JS (or TS)
- NodeJS 18+
1: clone this repo
2: run npm install
to install modules
3: run npx playwright install
to install playwright browsers
4: rename .env.example to .env
5: populate .env with your data
6: you are ready to go
´npx playwright test
npx playwright test --ui
Because you need to be logged in for almost everything, we already took care of this.
Playwright tests are loaded by regex matches.
To create a test that runs on a user account, name it like so:
[What is the test testing].[Permissions].[What is this file].js
So for example: server.user.test.js (Testing servers, with a user account, and its a test)
We setup a admin and user test env this way.
Playwright comes with a codegen funktion npx playwright codegen
.
With this its easy to get the selection of elements you want quickly and then write the test.