End-to-End (E2E) Tests

Purpose:

  • E2E tests simulate real user interactions in the application and ensure that the interface behaves as expected.

  • Validating user workflows.

  • Ensure there is no regressions.

Tools used:

  • Selenium WebDriver — automates Electron UI testing.

Test coverage includes:

  • Navigation through the application.

  • Browsing and selecting datasets from HDF5 files.

  • Generating plots based on selected data.

  • Verifying UI components render correctly with Mantine styles.

Prerequisites to run:

To run E2E tests in local mode, datasets are required. These are listed in the zenodo_datasets.txt file and must be placed in a folder named e2e_datasets at the root of the project.

How to run it locally:

Start the application in test mode

source ibex_venv/bin/activate
cd frontend

# Start the application in test mode
npm run start:e2e

Run E2E tests

source ibex_venv/bin/activate
cd frontend

# Run E2E tests
npm run test:e2e

Best practices:

  • Write tests for new features before merging.

  • Keep tests small and focused on a single workflow.

  • Use descriptive names for test cases to clarify the scenario being tested.