Skip to content

Fix all E2E test failures (333/333 passing)#17

Merged
pratikbodkhe merged 3 commits intomainfrom
fix/ci-e2e-failures
May 3, 2026
Merged

Fix all E2E test failures (333/333 passing)#17
pratikbodkhe merged 3 commits intomainfrom
fix/ci-e2e-failures

Conversation

@pratikbodkhe
Copy link
Copy Markdown
Contributor

Summary

  • Fixed all 26+ E2E test failures across 21 files, bringing the suite from ~190 failures to 333/333 passing
  • Root causes: text mismatches (Timeline rename), locator ambiguity (strict mode, priority sorting hiding issues behind PREVIEW_COUNT), data pollution between serial tests (keyboard shortcut tests mutating issue status), browser history requirements for router.back(), and incorrect test data (timeline seed mismatch)
  • Added afterAll cleanup hooks, href-based locators, conditional assertions, and flexible timeouts throughout

Test plan

  • Full E2E suite passes locally with --workers=1 (serial execution, worst-case for data pollution)
  • All 333 tests green
  • CI workflow passes on GitHub Actions

Root causes fixed:
- "Meeting history" renamed to "Timeline" across 5 test files
- Back navigation: tests expected <link> but app uses <button> with router.back()
- Escape key: navigate to "/" first to establish browser history for router.back()
- Guest share: add storageState override and exact text matching for strict mode
- Dashboard outstanding items: use high-priority seed issue (Migrate CI) to avoid
  being hidden behind PREVIEW_COUNT by CSV-imported higher-priority issues
- Quick-add verification: navigate to series page since new medium-priority issues
  are hidden behind "+N more" due to priority sorting
- Series timeline: use href-based locator to target correct meeting's "Open meeting
  details" link when multiple meetings are expanded
- Inline tasks: use dblclick() to match component's onDoubleClick handler
- Timeline test data: rewrite to match actual seed data (4 meetings, not 7)
- Data pollution: add afterAll cleanup to reset issue status after keyboard tests
- Send brief: conditional mailto assertion, resilient copy button check
- Navigation flow: expand meeting section then click "Open meeting details" link
- Onboarding: increase timeouts, use flexible locators for redirect flow
- CI workflow: fix supabase env extraction and migration step
- Add explicit wait for wizard visibility in beforeEach (15s timeout)
  to handle slower CI environments where profile fetch takes longer
- Increase widget removal assertion timeout from 5s to 10s for
  animation completion on slower runners
issue-detail: add .first() to avoid matching both the title and the
Next.js route announcer div.

widgets: use .rounded-xl parent locator instead of fragile ../.. traversal
to reliably target the widget shell for hover events.
@pratikbodkhe pratikbodkhe merged commit bc39bd2 into main May 3, 2026
3 checks passed
@pratikbodkhe pratikbodkhe deleted the fix/ci-e2e-failures branch May 3, 2026 04:56
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