Skip to main content

End-to-end testing with Cypress

Hoory uses Cypress for end-to-end testing. Use the following steps to run the tests on your local machine.

Prepare the Test Server

Choose any of the given methods to run your hoory test server.

Using Local Hoory Installation (option 1)

Note: You have to install the necessary dependencies as described in setup guide for this method to work.

Navigate to hoory codebase in your local machine and execute the following steps

Create a fresh test database

RAILS_ENV=test bin/rake db:drop
RAILS_ENV=test bin/rake db:create
RAILS_ENV=test bin/rake db:schema:load

Start Hoory in the test environment

RAILS_ENV=test foreman start  -f Procfile.test
### load the url in the browser and wait for it to start up
http://localhost:5050/app/login

Using Docker (option 2)

Follow the docker set up guide until you the build images.

Change the Rails Environment

Open docker-compose.yaml and update all the RAILS_ENV values from development to test

Update the Port

Under rails section in your docker-compose.yaml update the port value as given below.

ports:
- 5050:3000

Reset the Database

docker-compose run --rm rails bundle exec rails db:reset

Start Hoory Docker in the test environment

docker-compose up
### load the url in the browser and wait for it to start up
http://localhost:5050/app/login

Run Cypress

Load localhost:5050 on your browser and ensure that the Hoory server is running.

Navigate to your hoory local directory and Execute the following command to run the cypress tests.

yarn cypress open --project ./spec