Skip to content

Stabilize Scheduler Widget E2E by enabling hold cleanup in CI and hardening slot selectors#45

Draft
Copilot wants to merge 5 commits into
mainfrom
copilot/fix-scheduler-widget-e2e
Draft

Stabilize Scheduler Widget E2E by enabling hold cleanup in CI and hardening slot selectors#45
Copilot wants to merge 5 commits into
mainfrom
copilot/fix-scheduler-widget-e2e

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 20, 2026

The Scheduler Widget E2E Actions job was failing due to cross-test slot hold contamination and brittle Playwright selectors that assumed AM/PM-labeled options. This update aligns CI runtime config with test expectations and makes slot selection assertions resilient to actual accessibility labels.

  • CI runtime configuration

    • Enable test-only cleanup endpoints in the scheduler E2E job backend startup.
    • This allows DELETE /Slot/$holds cleanup between tests, preventing stale hold interference.
  • Scheduler E2E selector hardening

    • Replaced time-slot selectors based on /AM|PM/ and generic listbox matching with region-scoped option queries under "Available times".
    • Updated affected booking-flow assertions to use the same robust selector path.
  • Screenshot flow stabilization

    • Reused navigateToBookingForm(...) in mobile screenshot flow instead of hard-coded provider/date/slot steps.
    • Aligned one screenshot booking date offset to the same stable range used in passing booking flows.
const availableTimes = page
  .getByRole('region', { name: 'Available times' })
  .getByRole('option');

await expect(availableTimes.first()).toBeVisible({ timeout: 10000 });
await availableTimes.last().click();

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:

  • dl.google.com
    • Triggering command: /usr/lib/apt/methods/https /usr/lib/apt/methods/https tcp --destination-port 53 -j ACCEPT (dns block)
  • fonts.googleapis.com
    • Triggering command: /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1200/chrome-headless-shell-linux64/chrome-headless-shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1200/chrome-headless-shell-linux64/chrome-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 time/copilot-developer-action-main/dist/ripgrep/bin/linux-x64/rg credential.helpesh (dns block)
    • Triggering command: /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1200/chrome-headless-shell-linux64/chrome-headless-shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1200/chrome-headless-shell-linux64/chrome-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 cal/bin/git credential.helpesh (dns block)
    • Triggering command: /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1200/chrome-headless-shell-linux64/chrome-headless-shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1200/chrome-headless-shell-linux64/chrome-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 tnet/tools/git credential.helpesh (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title [WIP] Fix failing GitHub Actions job Scheduler Widget E2E Stabilize Scheduler Widget E2E by enabling hold cleanup in CI and hardening slot selectors May 20, 2026
Copilot AI requested a review from wreiske May 20, 2026 15:24
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.

2 participants