Purpose: Validate that summary counts in result view match actual metadata edits per file.
- Location summary
- locationAdded
- locationUpdated
- locationRemoved
- Time summary
- dateUpdated
- Device summary
- deviceUpdated
- Prepare at least 10 files:
- 5 files with existing GPS metadata
- 5 files without GPS metadata
- Ensure preview table is loaded and row selection is enabled.
- Reset state between scenarios.
- Action:
- Keep mode as Remove.
- Process 5 files that have existing GPS metadata.
- Expected Summary:
- locationRemoved = 5
- locationAdded = 0
- locationUpdated = 0
- dateUpdated = 0
- deviceUpdated = 0
- Verify:
- Output files no longer contain GPS coordinates.
- Action:
- Switch mode to Add / Edit.
- Select all 10 files.
- Apply one valid lat/lng using bulk or map apply.
- Process.
- Expected Summary:
- locationAdded = number of rows that originally had no GPS
- locationUpdated = number of rows that originally had GPS
- locationRemoved = 0
- Verify:
- All selected output files contain the new coordinates.
- Action:
- Select 3 rows.
- Change only Device field (no GPS/time changes).
- Process.
- Expected Summary:
- deviceUpdated = 3
- locationAdded/locationUpdated/locationRemoved unchanged
- dateUpdated unchanged
- Verify:
- EXIF device fields are updated in outputs.
- Action:
- Select rows with mixed initial metadata.
- Update location + date/time + device in one run.
- Process.
- Expected Summary:
- location* counters reflect original GPS existence vs final GPS validity
- dateUpdated increments only where final date/time differs from original
- deviceUpdated increments only where final device differs from original
- Verify:
- Spot-check at least 2 outputs with external EXIF viewer.
- Result badges exactly match expected counts for all scenarios.
- No row-level processing failures for valid JPEG edit path.
- No mismatch between summary and output EXIF values.