Features:
- test server app using Ruby on Rails 7;
- test client app using Alpine.js;
- GitHub action for Cypress tests (using Docker for client/server apps) - cypress.yml;
- cypress-on-rails as bridge between client and server.
On Cypress:
- example using FactoryBot factories;
- example using Rails fixtures;
- example using a scenario;
- example running some server side checks.
Alternatives:
- using git submodules and without Docker
# Run the tests (it launches the server and the client first):
yarn test
# Otherwise, launch server and client manually and open Cypress UI:
yarn cy:open
# Or run Cypress tests:
yarn cy:run
# Execute a single spec:
BROWSERSLIST_IGNORE_OLD_DATA=1 yarn run cypress run -s cypress/integration/commands_spec.js