diff --git a/e2e-tests/cypress/README.md b/e2e-tests/cypress/README.md index b1ddae514..e653413d6 100644 --- a/e2e-tests/cypress/README.md +++ b/e2e-tests/cypress/README.md @@ -1,24 +1,57 @@ # Gradido End-to-End Testing with [Cypress](https://www.cypress.io/) (CI-ready via Docker) +A setup to show-case Cypress as an end-to-end testing tool for Gradido running in a Docker container. +The tests are organized in feature files written in Gherkin syntax. + + +## Features under test + +So far these features are initially tested +- [User authentication](https://github.com/gradido/gradido/blob/master/e2e-tests/cypress/tests/cypress/e2e/User.Authentication.feature) +- [User profile - change password](https://github.com/gradido/gradido/blob/master/e2e-tests/cypress/tests/cypress/e2e/UserProfile.ChangePassword.feature) +- [User registration]((https://github.com/gradido/gradido/blob/master/e2e-tests/cypress/tests/cypress/e2e/User.Registration.feature)) (WIP) -A sample setup to show-case Cypress as an end-to-end testing tool for Gradido running in a Docker container. -Here we have a simple UI-based happy path login test running against the DEV system. ## Precondition -Since dependencies and configurations for Github Actions integration is not set up yet, please run in root directory + +Before running the test, change to the the repo's root directory (gradido) and boot up the system under test ```bash docker-compose up ``` -to boot up the DEV system, before running the test. ## Execute the test +This setup will be integrated in the Gradido Github Actions to automatically support the CI/CD process. +For now the test setup can only be use locally in two modes + +### Run Cypress directly from the code + ```bash +# change to the tests directory +cd /path/to/gradido/e2e-tests/cypress/tests + +# install all dependencies +yarn install + +# a) run the tests on command line +yarn cypress run + +# b) open the Cypress GUI to run the tests in interactive mode +yarn cypress open +``` + + +### Run Cyprss from a separate Docker container + +```bash +# change to the cypress directory +cd /path/to/gradido/e2e-tests/cypress/ + # build a Docker image from the Dockerfile docker build -t gradido_e2e-tests-cypress . -# run the Docker container and execute the given tests -docker run -it --network=host gradido_e2e-tests-cypress yarn run cypress-e2e-tests +# run the Docker image and execute the given tests +docker run -it --network=host gradido_e2e-tests-cypress yarn cypress-e2e ```