8cd4bbccf6
Co-authored-by: Dominik Pschenitschni <mail@celement.de> Reviewed-on: https://kolaente.dev/vikunja/frontend/pulls/793 Co-authored-by: dpschen <dpschen@noreply.kolaente.de> Co-committed-by: dpschen <dpschen@noreply.kolaente.de>
48 lines
1.2 KiB
Markdown
48 lines
1.2 KiB
Markdown
# Frontend Testing With Cypress
|
|
|
|
## Setup
|
|
|
|
* Enable the [seeder api endpoint](https://vikunja.io/docs/config-options/#testingtoken). You'll then need to add the testingtoken in `cypress.json` or set the `CYPRESS_TEST_SECRET` environment variable.
|
|
* Basic configuration happens in the `cypress.json` file
|
|
* Overridable with [env](https://docs.cypress.io/guides/guides/environment-variables.html#Option-3-CYPRESS)
|
|
* Override base url with `CYPRESS_BASE_URL`
|
|
|
|
## Fixtures
|
|
|
|
We're using the [test endpoint](https://vikunja.io/docs/config-options/#testingtoken) of the vikunja api to
|
|
seed the database with test data before running the tests.
|
|
This ensures better reproducability of tests.
|
|
|
|
## Running The Tests Locally
|
|
|
|
### Using Docker
|
|
|
|
The easiest way to run all frontend tests locally is by using the `docker-compose` file in this repository.
|
|
It uses the same configuration as the CI.
|
|
|
|
To use it, run
|
|
|
|
```shell
|
|
docker-compose up -d
|
|
```
|
|
|
|
Then, once all containers are started, run
|
|
|
|
```shell
|
|
docker-compose run cypress bash
|
|
```
|
|
|
|
to get a shell inside the cypress container.
|
|
In that shell you can then execute the tests with
|
|
|
|
```shell
|
|
yarn test:frontend
|
|
```
|
|
|
|
### Using The Cypress Dashboard
|
|
|
|
To open the Cypress Dashboard and run tests from there, run
|
|
|
|
```shell
|
|
yarn cypress:open
|
|
```
|