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]

Reply via email to