Skip to content

Commit

Permalink
rollups/transform: wait for page to render
Browse files Browse the repository at this point in the history
Signed-off-by: Rohit Ashiwal <[email protected]>
  • Loading branch information
r1walz authored and Prabhat Sharma committed Mar 28, 2024
1 parent a6c0a96 commit 0e53007
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -257,28 +257,37 @@ describe('Rollups', () => {
// Confirm we have our initial rollup
cy.contains(ROLLUP_ID);

// Intercept different rollups requests endpoints to wait before clicking disable and enable buttons
cy.intercept(`/api/ism/rollups/${ROLLUP_ID}`).as('getRollup');
cy.intercept(`/api/ism/rollups/${ROLLUP_ID}/_stop`).as('stopRollup');

// Click into rollup job details page
cy.get(`[data-test-subj="rollupLink_${ROLLUP_ID}"]`).click({
force: true,
});

cy.contains(`${ROLLUP_ID}`);

// Disable button is enabled
cy.get(`[data-test-subj="disableButton"]`).should('not.be.disabled');
cy.wait('@getRollup').wait(2000);

// Click Disable button
cy.get(`[data-test-subj="disableButton"]`).trigger('click', {
force: true,
});
cy.get(`[data-test-subj="disableButton"]`)
.should('not.be.disabled')
.click({ force: true });

cy.wait('@stopRollup');
cy.wait('@getRollup');

// Confirm we get toaster saying rollup job is disabled
cy.contains(`${ROLLUP_ID} is disabled`);

// Extra wait required for page data to load, otherwise "Enable" button will be disabled
cy.wait(2000);

// Click Enable button
cy.get(`[data-test-subj="enableButton"]`).trigger('click', {
force: true,
});
cy.get(`[data-test-subj="enableButton"]`)
.should('not.be.disabled')
.click({ force: true });

// Confirm we get toaster saying rollup job is enabled
cy.contains(`${ROLLUP_ID} is enabled`);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,12 @@ describe('Transforms', () => {
// Confirm we have our initial transform
cy.contains(TRANSFORM_ID);

// Intercept different transform requests endpoints to wait before clicking disable and enable buttons
cy.intercept(`/api/ism/transforms/${TRANSFORM_ID}`).as('getTransform');
cy.intercept(`/api/ism/transforms/${TRANSFORM_ID}/_stop`).as(
'stopTransform'
);

// Click into transform job details page
cy.get(`[data-test-subj="transformLink_${TRANSFORM_ID}"]`).click({
force: true,
Expand All @@ -250,24 +256,32 @@ describe('Transforms', () => {
* appear greyed out and unavailable. Cypress automatically retries,
* but only after menu is open, doesn't re-render.
*/
cy.wait(1000);
cy.wait('@getTransform').wait(2000);

// Click into Actions menu
cy.get(`[data-test-subj="actionButton"]`).click({ force: true });

// Click Disable button
cy.get(`[data-test-subj="disableButton"]`).click();
cy.get(`[data-test-subj="disableButton"]`)
.should('not.be.disabled')
.click();

cy.wait('@stopTransform');
cy.wait('@getTransform');

// Confirm we get toaster saying transform job is disabled
cy.contains(`"${TRANSFORM_ID}" is disabled`);

cy.wait(1000);
// Extra wait required for page data to load, otherwise "Enable" button will be disabled
cy.wait(2000);

// Click into Actions menu
cy.get(`[data-test-subj="actionButton"]`).click({ force: true });

// Click Enable button
cy.get(`[data-test-subj="enableButton"]`).click({ force: true });
cy.get(`[data-test-subj="enableButton"]`)
.should('not.be.disabled')
.click({ force: true });

// Confirm we get toaster saying transform job is enabled
cy.contains(`"${TRANSFORM_ID}" is enabled`);
Expand Down

0 comments on commit 0e53007

Please sign in to comment.