UNPKG

@revoloo/cypress6

Version:

Cypress.io end to end testing tool

95 lines (76 loc) 2.4 kB
describe('Footer', () => { const version = '1.0.0' let start let ipc beforeEach(() => { cy.fixture('user').as('user') cy.visitIndex().then((win) => { start = win.App.start ipc = win.App.ipc cy.stub(ipc, 'getOptions').resolves({ version }) cy.stub(ipc, 'updaterCheck').resolves(false) cy.stub(ipc, 'getProjects').resolves([]) cy.stub(ipc, 'getProjectStatuses').resolves([]) cy.stub(ipc, 'externalOpen') }) }) describe('any case', () => { beforeEach(() => { start() }) it('shows footer', () => { cy.get('footer').should('be.visible') }) it('displays version sent from get:options', () => { cy.get('footer').contains(version) }) it('opens link to changelog on click of changelog', () => { cy.contains('button', 'Changelog').click().then(() => { expect(ipc.externalOpen).to.be.calledWithMatch({ url: 'https://on.cypress.io/changelog' }) }) }) it('blurs changelog button after clicking', () => { cy.contains('button', 'Changelog').click().should('not.be.focused') cy.percySnapshot() }) }) describe('when on the latest version', () => { beforeEach(() => { start() }) it('does not show update indicator', () => { cy.get('.update-indicator').should('not.be.visible') cy.percySnapshot() }) it('disables version button', () => { cy.get('.version').should('be.disabled') }) }) describe('when there is a newer version available', () => { beforeEach(() => { ipc.updaterCheck.resolves('1.0.1') start() }) it('shows update indicator', () => { cy.get('.update-indicator').should('be.visible') cy.percySnapshot() }) it('enables version button', () => { cy.get('.version').should('be.enabled') }) it('opens update modal after clicking version button', () => { cy.get('.version').click() cy.get('.update-modal').should('be.visible') }) it('closes modal after clicking close', () => { cy.get('.version').click() cy.get('.update-modal .close').click() cy.get('.update-modal').should('not.exist') }) it('blurs version button after clicking', () => { cy.get('.version').click().should('not.be.focused') cy.get('.update-modal .close').click() cy.percySnapshot() }) }) })