-
Make sure you have
node > 18
on the host machineIf you have
nvm
simple runnvm install
in the project directory -
Install dependencies
npm install
-
Setup
.env
file. See.env.example
to find out which variables you need to define. -
Run tests locally
npm run test
By default it runs in Chrome browser. Feel free to change the browser by overriding parameter as the following
npm run test -- --browser electron
- Navigate to the GitHub Action workflow file
- Chose to "Run workflow" (you can specify parameters as you need)
- Click "Run workflow"
Note: let me know if you might need permissions to run workflow.
- First Name and Last Name fields are not displayed as required
- Incorrect valid until date in the confirmation email
- Other option constantly displayed as required
- Incomplete payment validation user friendly message
The website under a test has quite friendly HTML semantic to write e2e ui tests. Every element has good selector.
The e2e ui test submitted is quite comprehensive, yet there are different test cases yet to be implemented.With further addition of test cases I would like to make a common test support code more reusable. Maybe usage of Cypress custom command would be a good idea, but it's easier to create those as test coverage evolves.
I guess, there is a space for improvements for the fixtures: users, salons, addresses, card details etc. Some fixtures could be more flexible.
Tests uses https://testmail.app for emails verification. On the submission of this test exercise it still has 60 free mails to be received, means test can still verify emails.
Unfortunately, I couldn't test much of payments as all testing cards of Stripe are accepted, no 3DS, failed transactions happened.