Skip to content

fix(e2e): unblock full-suite CI on calendar + tags specs - #294

Merged
h4yfans merged 1 commit into
mainfrom
ci/e2e-pr-changed-only
Apr 20, 2026
Merged

fix(e2e): unblock full-suite CI on calendar + tags specs#294
h4yfans merged 1 commit into
mainfrom
ci/e2e-pr-changed-only

Conversation

@h4yfans

@h4yfans h4yfans commented Apr 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

The branch's CI workflow change (d1369927) flipped main from PR-only-changed-tests to running the full e2e suite. That surfaced 8 pre-existing failures in calendar.e2e.ts, calendar-comprehensive.e2e.ts, and tags-rename-delete.e2e.ts — none of which were caused by this branch, but all of which now block CI.

This PR fixes those failures so the new CI strategy can ship.

Calendar — test labels drifted from M7 redesign (commit f48b89cb)

The M7 popover redesign renamed dialog text and removed an aria-label, but the older e2e specs were never migrated:

Tests still expected Source actually renders
heading "New Event" heading "Create calendar event"
heading "Edit Event" heading "Edit calendar event"
button "Create Event" button "Create"
button "Save Changes" button "Save"
getByLabel('Title') input has only placeholder="New Event"

Fix: switched to the existing data-testid pattern (event-edit-popover, event-edit-save) that calendar-promote-external.e2e.ts was already using. Centralized popover() and titleInput() helpers in CalendarPO so the next label change is a one-line fix.

Calendar — Day-view chip occlusion in the rename test

Seeded Imported customer call (9:30 AM external) overlapped the test's freshly-created Memry event (9:00 AM). Even { force: true } routes the OS-level mouse click to whatever's on top — dispatchEvent('click') synthesizes the event directly on the target node and bypasses pointer routing.

Tags — duplicate aria-label="Go back"

Two buttons collided in strict mode:

  • Drilldown back button: tag-detail-view.tsx:164
  • Window titlebar history nav: window-controls.tsx:54 (permanently disabled)

Fix: filtered locator with :not([disabled]) since the titlebar one is always disabled by design. Real fix is to dedupe the source aria-labels — flagged as a follow-up.

Scope

Test-only changes. Zero source files touched. All 15 specs in the affected files pass locally in 48s.

Test plan

  • pnpm exec playwright test tests/e2e/tags-rename-delete.e2e.ts tests/e2e/calendar.e2e.ts tests/e2e/calendar-comprehensive.e2e.ts — all 15 pass locally
  • Typecheck clean for touched files (tsc --noEmit -p tsconfig.web.json)
  • CI green on this PR
  • CI green on the main-branch full-suite run after merge

Follow-ups (not in this PR)

  • Dedupe aria-label="Go back" across window-controls.tsx, tag-detail-view.tsx, journal/date-breadcrumb.tsx — they're semantically distinct concepts but share the same screen-reader label. Once renamed, revert the :not([disabled]) filter here.
  • Decide whether overlapping calendar events in Day view should render side-by-side (Google Calendar style) so users can actually click both — current layout makes the bottom event unclickable.

The full e2e suite surfaced 8 latent failures the PR-only-changed-tests
strategy had been hiding:

- Calendar editor labels drifted after the M7 popover redesign
  (heading "New Event" → "Create calendar event", button "Create Event"
  → "Create", "Save Changes" → "Save", title input lost its aria-label).
  Switched to the existing data-testid pattern (event-edit-popover,
  event-edit-save) that calendar-promote-external.e2e.ts already uses.
- Centralized popover() and titleInput() helpers in CalendarPO so
  future label changes are one-line fixes.
- Day-view chips overlap visually; even { force: true } routes the OS
  click to the overlay. Used dispatchEvent('click') in the rename test
  to send the click straight to the target chip.
- Tag drilldown's "Go back" button collided with the disabled titlebar
  history nav (same aria-label). Filtered with :not([disabled]).

Test-only changes; no source touched. All 15 specs in the touched files
pass locally (48s).
@h4yfans
h4yfans merged commit d74762c into main Apr 20, 2026
7 checks passed
@h4yfans
h4yfans deleted the ci/e2e-pr-changed-only branch April 20, 2026 09:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant