49 lines
1.2 KiB
Markdown
49 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
|
||
|
|
||
|
```
|
||
|
docker-compose up -d
|
||
|
```
|
||
|
|
||
|
Then, once all containers are started, run
|
||
|
|
||
|
```
|
||
|
docker-composer run cypress bash
|
||
|
```
|
||
|
|
||
|
to get a shell inside the cypress container.
|
||
|
In that shell you can then execute the tests with
|
||
|
|
||
|
```
|
||
|
yarn test:frontend
|
||
|
```
|
||
|
|
||
|
### Using The Cypress Dashboard
|
||
|
|
||
|
To open the Cypress Dashboard and run tests from there, run
|
||
|
|
||
|
```
|
||
|
yarn cypress:open
|
||
|
```
|