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 400x600pt (
SceneDelegateappliessizeRestrictionsof 520x779 UIKit points, which Catalyst scales by 0.77; 783x971pt until 2026-10-15). The window is as narrow as an iPhone, so tests tell the platforms apart with#if targetEnvironment(macCatalyst), never by the window width. At 600pt the History list does not fit: Mac tests scroll it withscrollMainList(down:)(MinutaUITests, wheel events over the window, since a Catalyst list does not scroll on drags; iOS keepsdragScroll). Without the pin, tests inherit the real app’s last saved window frame, making screenshot sizes nondeterministic and the sheet-width assertion meaningless.
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.