fix(e2e): unblock full-suite CI on calendar + tags specs - #294
Merged
Conversation
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).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 incalendar.e2e.ts,calendar-comprehensive.e2e.ts, andtags-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: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')placeholder="New Event"Fix: switched to the existing
data-testidpattern (event-edit-popover,event-edit-save) thatcalendar-promote-external.e2e.tswas already using. Centralizedpopover()andtitleInput()helpers inCalendarPOso 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:
tag-detail-view.tsx:164window-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 locallytsc --noEmit -p tsconfig.web.json)Follow-ups (not in this PR)
aria-label="Go back"acrosswindow-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.