diff --git a/client/src/components/atoms/Button.tsx b/client/src/components/atoms/Button.tsx index 4beb571..74d8eff 100644 --- a/client/src/components/atoms/Button.tsx +++ b/client/src/components/atoms/Button.tsx @@ -12,6 +12,7 @@ interface ButtonProps { onClick?: any disabled?: boolean to?: string + name?: string } export default class Button extends PureComponent { diff --git a/client/src/components/templates/Asset/AssetFile.tsx b/client/src/components/templates/Asset/AssetFile.tsx index d014d62..7ffdf06 100644 --- a/client/src/components/templates/Asset/AssetFile.tsx +++ b/client/src/components/templates/Asset/AssetFile.tsx @@ -146,6 +146,7 @@ export default class AssetFile extends PureComponent< // weird 0 hack so TypeScript is happy onClick={() => this.purchaseAsset(ddo, index || 0)} disabled={!isLogged || !isOceanNetwork} + name="Download" > Get file diff --git a/cypress/integration/consume.spec.js b/cypress/integration/consume.spec.js index d266b08..09be8cb 100644 --- a/cypress/integration/consume.spec.js +++ b/cypress/integration/consume.spec.js @@ -3,19 +3,27 @@ context('Consume', () => { before(() => { cy.visit(`/asset/${Cypress.env('CONSUME_ASSET')}`) - // Wait for end of loading - cy.get('button', { timeout: 60000 }).should('have.length', 1) + // Alias button selector & wait for end of loading + cy.get('button[name="Download"]', { timeout: 60000 }) + .first() + .should('have.length', 1) + }) + + beforeEach(() => { + cy.get('button[name="Download"]') + .first() + .as('button') }) it('Download button is clickable when user is connected.', () => { - cy.get('button').should('not.be.disabled') + cy.get('@button').should('not.be.disabled') }) it('Consume asset and check if there is no error', () => { // Click consume button - cy.get('button').click() + cy.get('@button').click() // Wait consume process to end - cy.get('button', { timeout: 150000 }).should('contain', 'Get file') + cy.get('@button', { timeout: 150000 }).should('contain', 'Get file') // check if there is no error cy.get('article>div').should( 'not.contain',