mikebridge commented on issue #44314:
URL: https://github.com/apache/superset/issues/44314#issuecomment-5687360074
Confirming this diagnosis from a second direction, and reporting a wider
blast radius than the title suggests.
`AdhocFilterEditPopoverSimpleTabContent.test.tsx` fails **12 tests on
untouched master** — not intermittently. I ran it twice against
`a184395eca7c291d0b8b438f00690c633112f4d7` with no local changes and got the
same 12 both times:
```
advanced data type operator list should update after API response
does not say the list is partial when it is complete
drops the note once suggestions load again
ignores a stale failing response that loses the race to a newer success
loads comparator values from the server
save button should be disabled if error message from API is returned
says the list is partial when the server capped it
sends the typed text to the server rather than filtering the loaded page
should call API when column has advanced data type
shows a plain empty list when the server has no values
stays quiet when the server refuses the request
stores the picked value, not the option object
```
They are all the cluster that loads comparator values from the server, i.e.
assertions that read state after an interaction.
Worth noting that #43512 *did* adapt this file — 27 insertions, 23
deletions, adding `await` to `userEvent.type` calls — so the migration pass
reached it and missed these. That suggests other files got a partial pass too,
and that grepping for un-awaited `userEvent` is likely to find more than the
two files named so far.
There is a second symptom from the same bump, outside `userEvent` itself:
the antd Select renders its option list into a portal on a later tick now, so a
synchronous `document.querySelector('.ant-select-dropdown-list')` immediately
after a click returns `null`. Tests that happened to `await` something
afterwards still pass, which makes it look file-specific when it isn't.
The fix shape is the same in every case: `await` the interaction, and wrap
any assertion reading state after it in `waitFor`. I have just applied exactly
that to a set of these tests on a branch, so I can take the repo-wide sweep if
nobody is already on it — happy to leave it if someone is.
One consequence worth flagging for triage priority: while master carries 12
deterministic frontend failures, "is the frontend suite green?" stops being a
usable signal for everyone else's PRs.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]