User tests: Successful: Unsuccessful:
Pull Request resolves #47199 .
Remove all 9 instances of cy.wait(5000) from tests/System/integration/administrator/components/com_contenthistory/Content.cy.js.
These hardcoded waits are a Cypress anti-pattern:
.should('not.be.empty') assertions that follow are already retryable by CypressInstead, { timeout: 10000 } is added to the .its('0.contentDocument.body') calls, giving the iframe up to 10 seconds to load while relying on Cypress's built-in retry mechanism.
npx cypress run --spec tests/System/integration/administrator/components/com_contenthistory/Content.cy.jsTests use cy.wait(5000) 9 times, wasting ~45 seconds and still potentially flaking on slow CI environments.
Tests rely on Cypress's built-in retry mechanism with an explicit 10s timeout, running faster and more reliably.
Please select:
Documentation link for guide.joomla.org:
No documentation changes for guide.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed
| Status | New | ⇒ | Pending |
| Category | ⇒ | JavaScript Unit Tests |
@D3S-Gaurav System test failed again, see my previous comment.
| Labels |
Added:
Unit/System Tests
PR-5.4-dev
|
||
Hi @richard67 ,
Will look into the failing checks.
Thanks for the rerun @richard67! I checked the logs and found the actual error — the delete and keep buttons were staying disabled because the iframe's JS wasn't fully initialized when the checkbox was checked. The cy.wait(5000) was masking this by giving the JS time to wire up the event handlers.
Tracked it down to the joomla-toolbar-button web component which starts buttons as disabled with list-selection and only enables them after the boxchecked change event fires. Without the wait, the click was silently ignored.
Applied the fix — now using .should('not.be.disabled') before .click() so Cypress waits for the button to actually be enabled before clicking.
@D3S-Gaurav No change, system tests are still failing. Sure you've pushed all changes? By the way, it is not good pracitce to always to a forced push. You should do your changes with additional commits instead.
And you should check the results of the CI actions yourself on GitHub.
@richard67 , Yeah i know and i'm sorry about the force-push. But when the forced-push one failed the checks then i properly went through the failing test.
Then i found the error and made my response above some minutes ago.
I also verified locally:
@D3S-Gaurav Despite of your previous comments the system tests are still failing here on GitHub.
Then i found the error and made my response above some minutes ago.
@D3S-Gaurav No, there was no change a few minutes ago that comment. It definitely seems you have forgotten to push something. The system tests are still failing, and when you go to your PR in GitHub and go to the bottom to the CI actions you could check the details with a corresponding link right beside the action.
Hi @richard67 am looking into it.
@D3S-Gaurav The content history system test is failing here: https://github.com/joomla/joomla-cms/actions/runs/22273759758/job/64437223532?pr=47200
I will restart all jobs now to see if that was caused by cached JS resources.