-
Notifications
You must be signed in to change notification settings - Fork 50
feat(e2e): unskip event tests #1428
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: tyler-dane <30163055+tyler-dane@users.noreply.github.com>
Co-authored-by: tyler-dane <30163055+tyler-dane@users.noreply.github.com>
Co-authored-by: tyler-dane <30163055+tyler-dane@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR successfully unskips 12 previously disabled e2e tests and implements necessary fixes to make them pass. The changes improve test reliability by adding conditional mobile skips, using more robust helper functions, and addressing race conditions.
Changes:
- Removed unconditional
test.skip()calls from 12 e2e tests across all-day, someday, and timed event flows - Added conditional mobile skips for keyboard shortcuts and mouse-based week view interactions (desktop-only features)
- Refactored all-day mouse tests to use
openEventForEditingWithMouse()helper instead of direct button clicks for better reliability - Added 1000ms wait in someday keyboard update test to prevent race condition
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| e2e/timed/update-event-keyboard.spec.ts | Added conditional mobile skip, unskipped test |
| e2e/timed/delete-event-mouse.spec.ts | Added conditional mobile skip, unskipped test |
| e2e/someday/update-someday-event-mouse.spec.ts | Unskipped test (already had conditional mobile skip) |
| e2e/someday/update-someday-event-keyboard.spec.ts | Unskipped test, added 1000ms wait to prevent race condition |
| e2e/someday/delete-someday-event-mouse.spec.ts | Unskipped test (already had conditional mobile skip) |
| e2e/someday/delete-someday-event-keyboard.spec.ts | Unskipped test (already had conditional mobile skip) |
| e2e/allday/update-allday-event-mouse.spec.ts | Unskipped test, replaced direct click with openEventForEditingWithMouse() helper, added helper import |
| e2e/allday/update-allday-event-keyboard.spec.ts | Added conditional mobile skip, unskipped test |
| e2e/allday/delete-allday-event-mouse.spec.ts | Added conditional mobile skip, replaced direct click with openEventForEditingWithMouse() helper, added helper import, unskipped test |
| e2e/allday/delete-allday-event-keyboard.spec.ts | Added conditional mobile skip, unskipped test |
| e2e/allday/create-allday-event-mouse.spec.ts | Added conditional mobile skip, unskipped test |
| e2e/allday/create-allday-event-keyboard.spec.ts | Added conditional mobile skip, unskipped test |
| await openSomedayEventFormWithKeyboard(page); | ||
| await fillTitleAndSaveWithKeyboard(page, title); | ||
| await expectSomedayEventVisible(page, title); | ||
| await page.waitForTimeout(1000); |
Copilot
AI
Feb 2, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The wait timeout added here addresses the race condition consistently with other keyboard tests. However, the corresponding someday delete keyboard test (delete-someday-event-keyboard.spec.ts) was not updated with this same fix. For consistency and to prevent the same race condition, that test should also include this wait.
| } from "../utils/event-test-utils"; | ||
|
|
||
| test.skip("should update a timed event using keyboard interaction", async ({ | ||
| test.skip(({ isMobile }) => isMobile, "Keyboard shortcuts are desktop-only."); |
Copilot
AI
Feb 2, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Formatting inconsistency: keyboard test skips use single-line format test.skip(({ isMobile }) => isMobile, "Keyboard shortcuts are desktop-only."); while mouse test skips use multi-line format. For consistency across the codebase, keyboard tests should use the same formatting as mouse tests, or vice versa.
| test.skip(({ isMobile }) => isMobile, "Keyboard shortcuts are desktop-only."); | |
| test.skip( | |
| ({ isMobile }) => isMobile, | |
| "Keyboard shortcuts are desktop-only.", | |
| ); |
| } from "../utils/event-test-utils"; | ||
|
|
||
| test.skip("should update an all-day event using keyboard interaction", async ({ | ||
| test.skip(({ isMobile }) => isMobile, "Keyboard shortcuts are desktop-only."); |
Copilot
AI
Feb 2, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Formatting inconsistency: keyboard test skips use single-line format test.skip(({ isMobile }) => isMobile, "Keyboard shortcuts are desktop-only."); while mouse test skips use multi-line format. For consistency across the codebase, keyboard tests should use the same formatting as mouse tests, or vice versa.
| test.skip(({ isMobile }) => isMobile, "Keyboard shortcuts are desktop-only."); | |
| test.skip( | |
| ({ isMobile }) => isMobile, | |
| "Keyboard shortcuts are desktop-only.", | |
| ); |
| } from "../utils/event-test-utils"; | ||
|
|
||
| test.skip("should delete an all-day event using keyboard interaction", async ({ | ||
| test.skip(({ isMobile }) => isMobile, "Keyboard shortcuts are desktop-only."); |
Copilot
AI
Feb 2, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Formatting inconsistency: keyboard test skips use single-line format test.skip(({ isMobile }) => isMobile, "Keyboard shortcuts are desktop-only."); while mouse test skips use multi-line format. For consistency across the codebase, keyboard tests should use the same formatting as mouse tests, or vice versa.
| test.skip(({ isMobile }) => isMobile, "Keyboard shortcuts are desktop-only."); | |
| test.skip( | |
| ({ isMobile }) => isMobile, | |
| "Keyboard shortcuts are desktop-only.", | |
| ); |
| } from "../utils/event-test-utils"; | ||
|
|
||
| test.skip("should create an all-day event using keyboard interaction", async ({ | ||
| test.skip(({ isMobile }) => isMobile, "Keyboard shortcuts are desktop-only."); |
Copilot
AI
Feb 2, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Formatting inconsistency: keyboard test skips use single-line format test.skip(({ isMobile }) => isMobile, "Keyboard shortcuts are desktop-only."); while mouse test skips use multi-line format. For consistency across the codebase, keyboard tests should use the same formatting as mouse tests, or vice versa.
| test.skip(({ isMobile }) => isMobile, "Keyboard shortcuts are desktop-only."); | |
| test.skip( | |
| ({ isMobile }) => isMobile, | |
| "Keyboard shortcuts are desktop-only.", | |
| ); |
12 e2e tests were unconditionally skipped. Unskipped all tests and fixed issues preventing them from passing.
Changes
openEventForEditingWithMouse()helper instead of direct button clicks, ensuring form visibility before interactionResult
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
accounts.google.com/home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AvoidUnnecessaryBeforeUnloadCheckSync,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,AutoDeElevate,RenderD(dns block)/home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AvoidUnnecessaryBeforeUnloadCheckSync,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,AutoDeElevate,RenderD lit _universe_cnf_Cosystemctl(dns block)/home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AvoidUnnecessaryBeforeUnloadCheckSync,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,AutoDeElevate,RenderD b(dns block)esm.ubuntu.com/usr/lib/apt/methods/https /usr/lib/apt/methods/https(dns block)fonts.googleapis.com/home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AvoidUnnecessaryBeforeUnloadCheckSync,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,AutoDeElevate,RenderD lit _universe_cnf_Cosystemctl(dns block)/home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AvoidUnnecessaryBeforeUnloadCheckSync,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,AutoDeElevate,RenderD(dns block)/home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AvoidUnnecessaryBeforeUnloadCheckSync,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,AutoDeElevate,RenderD b(dns block)us-assets.i.posthog.com/home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AvoidUnnecessaryBeforeUnloadCheckSync,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,AutoDeElevate,RenderD(dns block)/home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AvoidUnnecessaryBeforeUnloadCheckSync,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,AutoDeElevate,RenderD lit _universe_cnf_Cosystemctl(dns block)/home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AvoidUnnecessaryBeforeUnloadCheckSync,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,AutoDeElevate,RenderD b(dns block)us.i.posthog.com/home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AvoidUnnecessaryBeforeUnloadCheckSync,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,AutoDeElevate,RenderD(dns block)/home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AvoidUnnecessaryBeforeUnloadCheckSync,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,AutoDeElevate,RenderD lit _universe_cnf_Cosystemctl(dns block)/home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1194/chrome-linux/headless_shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AcceptCHFrame,AvoidUnnecessaryBeforeUnloadCheckSync,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,AutoDeElevate,RenderD b(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.