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 runE2e
-
Prepare the environment by the development guide
-
Install dependencies
cd e2e && npm i
-
Run the tested environment
# Run frontend with E2E settings ./gradlew runWebAppNpmStartE2eDev # 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