Issue #3591608: Fix flaky prop-types.cy.js "Date + Time widget" test
Fixes the intermittent failure of the Date + Time widget test in prop-types.cy.js. See #3591608 (closed) for the full analysis.
Root cause (a race in the test, not the app)
- The time
<input>is never blurred, so itschangeevent — which drives the preview update — never fires; the preview reflects the new date but keeps the old time. - Even once committed, the preview re-renders asynchronously via a debounced
PATCH /canvas/api/v0/layout/node/{id}. The test raced that round-trip with the default 4s assertion timeout.
Changes
- Blur the time input after typing so its
changefires the preview update. - Wait for the
/layout/nodePATCH whose payload carries the new time to complete (via the@alias.allpayload-inspection pattern already used byassertMultivalueReorder) before asserting the preview — synchronizing on the application's own request instead of a timeout.
Validation
Ran prop-types.cy.js locally 5×: 5/5 clean first-attempt passes (no retry rescue), ~7s each.
AI usage
Developed with AI assistance (Claude / Claude Code). All changes were reviewed and validated locally by the contributor.