Skip to content

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:

  1. Environment Setup: Ensure that the .env variables are set up in tests/.env. Use tests/.env.example as a template for the required configuration.

  2. 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.