UI Test Screenshots
The UI test suite captures a screenshot at each step of every flow (timer, tag management, record editing, settings, filtering, reports, performance). These are the same images shown in the app store / marketing gallery.
Most flows are journey-style tests: one app launch runs several scenarios sequentially (each wrapped in XCTContext.runActivity), snapshotting along the way, instead of paying a fresh launch per check. Snapshot names are stable across this structure — the gallery consumes them by name.
Where to view them
The rendered screenshots live in the public gallery at /screenshots — iPhone and Mac, grouped by test flow with captions. That page reads every PNG under src/assets/screenshots/{iphone,mac}/ via import.meta.glob, so it always reflects the latest captured set.
Where they come from
- Captured during UI test runs into
Minuta/UITests/__Snapshots__/{TestClass}/. run-uitests.shcopies them, flattened, intominuta.tools/src/assets/screenshots/{iphone,mac}/using the naming conventionTestClass--name.png. Only the current run’s screenshots are copied —__Snapshots__/is shared between platforms and can hold leftovers from a previous run on the other platform, which once leaked Mac screenshots into the iPhone gallery (and vice versa).- The website imports them from there; there is no per-doc copy to maintain.
- On Mac Catalyst, test launches pin the window to 783x971pt (
SceneDelegateappliessizeRestrictionsof 1017x1261 UIKit points, which Catalyst scales by 0.77). Without the pin, tests inherit the real app’s last saved window frame, making screenshot sizes nondeterministic and breaking the 640pt sheet-width assertion.
Regenerating
cd Minuta
./scripts/run-uitests.sh # iPhone
./scripts/run-uitests.sh --mac # Mac Catalyst See 601-testing-guide for the full test workflow, and the project CLAUDE.md for the screenshot regeneration and deploy steps.