Skip to content

test(playwright): open selects from the arrow, not the centre - #8114

Merged
renemadsen merged 1 commit into
stablefrom
fix/8113-select-click-arrow
Oct 6, 2026
Merged

renemadsen merged 1 commit into
stablefrom
fix/8113-select-click-arrow

Conversation

@renemadsen

Copy link
Copy Markdown
Member

Closes #8113

selectValueInNgSelector clicked the centre of the select. On an empty mtx-select inside an outlined mat-form-field the unfloated mat-label can cover that point (Material sets pointer-events: all on the floating label), and Playwright then retries until timeout: "Valgt eForm … intercepts pointer events".

#8109's page gutter narrowed the planning-create grid by ~15 px per column, which put #createPlanningSelector's centre on its 81 px label. That broke items-planning-playwright-test (b) and (c) in microting/work-items-planning-container run 37216811181 and in the items-planning plugin's own CI. It passed before by about 1 px.

Users are not affected: a click on the label goes through the form field's onContainerClick, which opens the select. Only Playwright's hit-test fails.

Fix: click .ng-arrow-wrapper, which ng-select always renders. Its mousedown toggles the panel once, and mtx-select's onContainerClick deliberately skips the arrow, so there is no double toggle. If the panel is already open, the helper's next fill() reopens it via filter().

Callers: this repo's two selectors (#createLanguageSelector, #mainCheckListTagsSelector) are mtx-select hosts. A sample of the plugin callers that import this helper (items-planning, backend-configuration, time-planning, …) all pass mtx-select hosts too.

Verification: Playwright runs only in CI; this PR's run and the next container tag run are the real test.

🤖 Generated with Claude Code

selectValueInNgSelector clicked the centre of the select. An empty
select's unfloated mat-label can cover that point (the label has
pointer-events: all), so Playwright reported the label as intercepting
the click and timed out. The page gutter from #8109 narrowed the
planning-create grid enough for this to happen on #createPlanningSelector.
Click the always-rendered arrow, which opens the select exactly once.

closes #8113

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 6, 2026 08:20

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The focused change addresses the reported Playwright hit-testing failure without affecting application behavior.

Review effort: Balanced
Findings: None

What changed in this PR

Updates the Playwright ng-select helper to avoid label interception when opening mtx-select.

Changes:

  • Opens selectors by clicking .ng-arrow-wrapper.
  • Documents why center-clicking is unreliable.
File Description
eform-client/​playwright/​e2e/​helper-functions.ts Uses the select arrow as the reliable click target.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@renemadsen
renemadsen merged commit 31e3d50 into stable Oct 6, 2026
18 of 21 checks passed
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