Appearance
Test case versioning
Every save to a test case creates a new version. You can see version history, compare any two versions side-by-side, and restore the test case to a past version.
History tab
Open any test case detail panel and switch to the History tab. You'll see a timeline of versions, newest first. Each row shows the change summary ("Updated steps + tags"), author, and timestamp.
Compare two versions
Click the checkboxes next to two versions and click Compare selected. A side-by-side diff modal opens, showing changed fields with yellow highlights. Toggle "Show unchanged" to hide identical fields and focus on changes.
Restore an old version
Click the ↺ restore icon on any past version. After confirmation, a new version is created as a copy of the past one. The current state is preserved in history — restoring is non-destructive.
Scenario source: manual vs. automation
Each test case has a scenario source (set in the test case's settings) that decides who owns its steps:
- Manual — you author the scenario by hand. Automated runs never touch it. This is the default for cases you create yourself.
- From automation — the scenario is kept in sync with what your automated runs execute. When a launch finishes, Sulu reconstructs the scenario from the steps the run actually ran and, if anything changed, records it as a new version (tagged with a robot icon and the run number in the History tab). Cases that Sulu auto-creates from imported automation results start in this mode.
While a case is From automation, its steps are read-only in the editor (a banner explains why) and you can't restore an older version — the automation owns the scenario. Click Detach to edit to switch the case back to Manual and take the pen back. Switching into automation offers to adopt the latest finished run's scenario right away.
Launches and version pinning
When a test result is recorded in a launch, it remembers which version of the test case was executed. On the launch's result detail panel, you'll see a small v3 chip next to the scenario when the executed version differs from the current state. Click the chip to see exactly what the test case looked like at execution time.
Versioning rules
- Every save (
PUT /api/test-cases/{id}) creates one new version - Bulk operations create one version per affected test case
- Soft-delete and trash-restore do NOT create versions (metadata-only changes)
- Comments are NOT included in version snapshots (live-only)