End-to-End Testing Overview
Introduction
This project is tested through end-to-end (E2E) testing methodologies to guarantee the highest standards of quality and reliability for its features. Our approach includes:
- Playwright: Utilized for automating browser interactions, Playwright simulates real user actions to thoroughly test the entire application flow.
- Percy: Chosen for visual regression testing, Percy helps in capturing and comparing screenshots over time. This is crucial for detecting any unintended visual changes that may occur.
- Mailtrap: This tool is used to test email-related functionalities within the application.
Continuous Integration
E2E tests are automatically triggered for each pull request (PR) into the main branch, utilizing GitHub Actions for continuous integration (CI).
Running E2E Tests Locally
To run the E2E tests locally, follow these steps:
Environment Setup: Ensure that the
.env
variables are set up intests/.env
. Usetests/.env.example
as a template for the required configuration.Execute Tests:
- Start the app (the specific command may vary based on your setup in the previous steps).
- Run
pnpm e2e:functional
to perform functional testing with Playwright. - Run
pnpm e2e:visual
for visual diffing with Percy.