UI and its interaction with the backend are tested using E2E (end-to-end) cypress tests.
To just run it, you can execute the runE2e Gradle task. This command runs a complex task, which installs all dependencies and runs everything it needs.
./gradlew runE2eTo run only selected specs, pass specs property with a comma-separated list or glob:
./gradlew runE2e -Pspecs="**/translations/plurals.cy.ts,**/translations/singleKeyForm.cy.ts"-
Prepare the environment by the development guide.
-
Install dependencies:
npm --prefix e2e ci
-
Run the tested environment:
# Run frontend with E2E settings VITE_APP_API_URL=http://localhost:8201 npm --prefix webapp run start -- --port 8081 --host --no-open # Run the E2E Docker services (like fake SMTP server) ./gradlew runDockerE2eDev # Run backend with e2e profile ./gradlew server-app:bootRun --args='--spring.profiles.active=e2e' # You can also do this by running the application with the E2e profile using Idea CE or Ultimate. # Then you will be also able to debug the backend and hotswap classes while running the tests, which can be pretty useful.
-
Run the tests:
./gradlew openE2eDev
-
Stop the environment when done:
./gradlew stopDockerE2e