Skip to content

Commit

Permalink
Merge pull request #967 from devinit/fix/cypress-tests
Browse files Browse the repository at this point in the history
Fix | Intermittent cypress tests failures
  • Loading branch information
ThatcherK authored Aug 16, 2023
2 parents 5596344 + 0dcfa3c commit c99ed79
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 24 deletions.
45 changes: 27 additions & 18 deletions frontend/cypress/integration/dataSources.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -124,26 +124,35 @@ describe('The Data Sources Page', () => {
});

it('downloads a successfully frozen data source', () => {
cy.wait(100);
cy.get('.dataset-row')
cy.intercept('api/sources/?limit=10&offset=0&search=&frozen=0').as('datasources');
cy.visit('/sources');
cy.get('[data-testid="sources-table-search"]').type('FTS ISO codes{enter}');
cy.get('[data-testid="sources-table-row"]')
.first()
.then((row) => {
const badge = row.find('[data-testid="frozen-data-status"]');
if (badge[0].innerHTML === 'Completed') {
cy.document().then((doc) => {
const frozenDatasetUrl = doc
.querySelector('[data-testid="frozen-source-download-button"]')
.getAttribute('href');
cy.request({
url: `${Cypress.config('baseUrl')}${frozenDatasetUrl}`,
encoding: 'base64',
}).then((response) => {
expect(response.status).to.equal(200);
});
.then(($element) => {
cy.wrap($element).contains('Versions').click();
cy.get('.dataset-row')
.first()
.then((row) => {
const badge = row.find('[data-testid="frozen-data-status"]');
if (badge[0].innerHTML === 'Completed') {
cy.document().then((doc) => {
const frozenDatasetUrl = doc
.querySelector('[data-testid="frozen-source-download-button"]')
.getAttribute('href');
cy.request({
url: `${Cypress.config('baseUrl')}${frozenDatasetUrl}`,
encoding: 'base64',
}).then((response) => {
expect(response.status).to.equal(200);
});
});
} else if (['Completed', 'Pending'].includes(badge[0].innerHTML)) {
cy.get(row.find('[data-testid="frozen-source-download-button"]')).should(
'not.exist',
);
}
});
} else if (['Completed', 'Pending'].includes(badge[0].innerHTML)) {
cy.get(row.find('[data-testid="frozen-source-download-button"]')).should('not.exist');
}
});
});

Expand Down
17 changes: 13 additions & 4 deletions frontend/cypress/integration/datasets.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,7 @@ describe('The Datasets Pages', () => {

cy.wait('@datasets').then((res) => {
cy.get('.search').first().click({ force: true });
cy.wait(4000);
cy.get('.search').first().type('FTS dependency codenames{enter}');
cy.get('.search').first().type('FTS dependency codenames{enter}', { delay: 200 });
cy.url().should('eq', `${Cypress.config('baseUrl')}/datasets/?page=1&source=43`);
cy.get('.text').eq(1).should('have.text', 'FTS dependency codenames');
cy.getAccessToken().then((token) => {
Expand Down Expand Up @@ -184,7 +183,9 @@ describe('The Datasets Pages', () => {
});

it('makes a copy of my dataset', () => {
cy.intercept('/api/datasets/mine/?limit=10&offset=0&search=', { fixture: 'datasets' }).as('getMyDatasets');
cy.intercept('/api/datasets/mine/?limit=10&offset=0&search=', { fixture: 'datasets' }).as(
'getMyDatasets',
);
cy.visit('/');
cy.wait('@getMyDatasets');
checkCopiedDataset('be.checked');
Expand Down Expand Up @@ -276,6 +277,11 @@ describe('The Datasets Pages', () => {
});

it('deletes a frozen dataset', () => {
cy.intercept(`/api/dataset/history/*/?limit=10&offset=0`).as('getFrozenDatasets');

cy.visit('/datasets/');
cy.get('.dataset-row').eq(0).contains('Versions').click({ force: true });

// Get initial frozen datasets row count
cy.get('[data-testid="datasetRows"]')
.its('length')
Expand All @@ -284,7 +290,10 @@ describe('The Datasets Pages', () => {
});

// Delete frozen dataset
cy.get('[data-testid="frozen-dataset-delete-button"]').first().dblclick({ force: true });
cy.get('[data-testid="frozen-dataset-delete-button"]')
.first()
.click({ force: true })
.click({ force: true });
cy.get('@datasetRowNumber').then((datasetRowNumber) => {
cy.get('[data-testid="datasetRows"]').should('have.length', datasetRowNumber - 1);
});
Expand Down
3 changes: 1 addition & 2 deletions frontend/cypress/support/commands.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,11 @@ Cypress.Commands.add('login', (email, password) => {
Cypress.Commands.add('fillOperationForm', (name, description, dataSource = 'CRS ISO codes') => {
// Visit query builder type name and choose datasource
cy.visit('/queries/build');
cy.wait(5000);
cy.get('[name="name"]').focus().type(name);
cy.get('[name="description"]').focus().type(description);
cy.get('[data-testid="active-data-source"]')
.click({ force: true })
.type(`${dataSource}{downarrow}{downarrow}{enter}`);
.type(`${dataSource}{downarrow}{downarrow}{enter}`, { delay: 300 });
cy.get('.item', { timeout: 10000 }).eq(0).click({ force: true });
});

Expand Down

0 comments on commit c99ed79

Please sign in to comment.