-
Notifications
You must be signed in to change notification settings - Fork 370
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: [M3-7367] - Improve Cypress Rescue & Rebuild Test Flake #9867
test: [M3-7367] - Improve Cypress Rescue & Rebuild Test Flake #9867
Conversation
ui.dialog | ||
.findByTitle(`Rescue Linode ${linode.label}`) | ||
.should('be.visible') | ||
.within(() => { | ||
rebootInRescueMode(); | ||
}); | ||
|
||
// Check mocked response and make sure UI responded correctly. | ||
// Check intercepted response and make sure UI responded correctly. | ||
cy.wait('@rebootLinodeRescueMode') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is still one issue unaddressed by this PR that can cause the test to fail here.
The StandardRescueDialog component fetches the Linode's disks, volumes, etc.. It appears that if the user clicks "Reboot into Rescue Mode" before this data has been fetched, no API request is made (so the call to cy.wait('@rebootLinodeRescueMode')
fails). This is unlikely to be encountered by users, but Cypress runs fast enough that it occasionally triggers this issue.
However, this PR addresses the secondary issue with this test, where it would fail consistently on reattempts when this unaddressed issue does occur.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything was stable locally!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! Suite passed locally ✅ - love fixes to the flakes!
Description 📝
This PR addresses some of the causes of flakiness and failures in our Linode rebuild and rescue Cypress tests.
Changes 🔄
How to test 🧪
Prerequisites
Build and serve Cloud Manager:
Verification steps
Make sure that the tests that were modified by this PR continue to pass. We can rely on CI for this, but to run the tests manually you can use this command:
yarn cy:run -s "cypress/e2e/core/linodes/linode-config.spec.ts,cypress/e2e/core/linodes/rebuild-linode.spec.ts,cypress/e2e/core/linodes/rescue-linode.spec.ts,cypress/e2e/core/linodes/smoke-linode-landing-table.spec.ts"
As an Author I have considered 🤔
Check all that apply