Screenshot comparison in CI; soak test fix #89

Merged
littlefox merged 3 commits from issue-65-screenshots into main 2026-10-18 01:05:32 +00:00
Owner

Closes #65
Refs #66

  • visual.spec.ts: login, reading a post, writing, command palette per profile against reference images (1% tolerance, run-to-run parts masked). Update with tools/e2e.sh --update-snapshots and review the images.
  • soak.spec.ts: wait for a new post number after Skicka (run #154 counted a post that wasn't made; the app's count equalled a fresh login's).

Locally 166/166 across the three profiles, twice against the same references.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8

Closes #65 Refs #66 - visual.spec.ts: login, reading a post, writing, command palette per profile against reference images (1% tolerance, run-to-run parts masked). Update with tools/e2e.sh --update-snapshots and review the images. - soak.spec.ts: wait for a new post number after Skicka (run #154 counted a post that wasn't made; the app's count equalled a fresh login's). Locally 166/166 across the three profiles, twice against the same references. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
Screenshots were only looked at by eye; with three device profiles and
themes a layout regression would slip through. visual.spec.ts compares
the login page, reading a post, writing and the command palette
against reference images per profile (desktop, Android, iPhone), with
the parts that change between runs masked. A changed layout now fails
CI with a diff image in the e2e artifact. References are updated
deliberately with tools/e2e.sh --update-snapshots and reviewed in the
PR. Two full local runs against the same references: 166/166.

Refs #65

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
soak: wait for a new post number, not just any status line
All checks were successful
ci / check (push) Successful in 10m35s
ci / desktop (push) Successful in 14m43s
ci / e2e (push) Successful in 21m0s
e95fd5d374
The CI mismatch (run #154: app 52 = fresh login 52, expected 53) was
the test's: after Skicka it waited for "Inlägg N är publicerat", which
the previous post's status still said, so a missed click on a slow
runner counted a post that wasn't made. It now waits for the composer
to close and a new number. The app's count was right.

Refs #66

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
littlefox referenced this pull request from a commit 2026-10-18 14:33:48 +00:00
Sign in to join this conversation.
No description provided.