Merge E2E projects into a single project
This document represents an architecture decision record (ADR) and has been mirrored from the ADR section in our Shopware 6 repository. You can find the original version here
It's hard to test components in isolation. Other components are almost always also tested, which is intended because it's the nature of end-to-end tests being workflow-based.
There are currently three E2E projects that are maintained separately. There are a lot of duplicated commands and different variations of them.
We'll merge all cypress e2e projects of platform into a single project.
The projects will be merged by
- creating new project
- moving storefront tests to
- moving administration tests to
- moving recovery tests to
- moving the new package test scenarios to
- merging the commands.js files and removing duplicate code
- merging the setup code
- merging fixtures
- use automatic cleanup in global setup instead of manual calls to
cleanUpPreviousStatein admin tests
The command and support code are shared by all tests, therefore the ownership of the project itself is now shared among the component teams. The tests themselves should be written and maintained by the solution teams.
The commands to run the e2e tests, and the pipelines need to be updated.