E2E test suite for testing the functionality of DSW Client and DSW Server based on Cypress.
The project requires recent version of node and npm. Then all the dependencies can be installed with:
make install
The tests are run against local instance of DSW which is created using docker-compose. To simply create instance of dsw, run tests and then clean it, run:
make all
If you are developing the tests or running them locally, you can use Cypress App to watch and debug the tests. Open the app with:
make open
There are several properties to configure the tests. By default, it runs
against the local local instance. However, this can be changed. You can see
env configuration in cypress.json
. If you want to overwrite some or all of
the variables, create a new file called cypress.env.json
(which is ignored
in git) and change the desired values. The file might look like this:
{
"url": "http://localhost:8080",
"api_url": "http://localhost:3000",
"admin_username": "[email protected]",
"admin_password": "password",
"datasteward_username": "[email protected]",
"datasteward_password": "password",
"researcher_username": "[email protected]",
"researcher_password": "password"
}
- Ue
data-cy
attribute for targeting elements,id
is acceptable for form fields. - Every container that loads content from API should have
data-cy
. This should be tested to exist before testing the content. - Use
.contains
only for values filled from the test or test fixtures.