UNPKG

@revoloo/cypress6

Version:

Cypress.io end to end testing tool

64 lines (53 loc) 1.81 kB
import { mount } from '@cypress/vue' import App from '@/App' import store from '@/store' import router from '@/router' import VueRouter from 'vue-router' import Vuex from 'vuex' const crossword = '[data-testid=crossword-section]' const title = '[data-testid=crossword-title]' const prev = '[data-testid=prev]' const next = '[data-testid=next]' const reset = '[data-testid=reset]' const cells = `${crossword} input` describe('App', () => { beforeEach(() => { mount(App, { plugins: [VueRouter, Vuex], router, store }) cy.wait(100) }) it('resets the crossword correctly after you fill it in', (done) => { cy.get(crossword).fillCrossword({ partially: true }) cy.get(title) .then((titleEl) => { let oldCrossword const oldTitle = titleEl.text() cy.get(crossword).getCrossword().then((text) => { oldCrossword = text }) cy.get(reset).click() cy.get(crossword).should('not.have.text', oldCrossword) cy.get(title).should('have.text', oldTitle).then(() => done()) }) }) it('renders the crossword puzzle on load', function (done) { cy.get(crossword).should('exist').then(() => done()) }) it('lets you navigate to previous days', function (done) { let oldTitle cy.get(title) .then((titleEl) => { oldTitle = titleEl.text() cy.get(prev).click() cy.get(title).should('not.have.text', oldTitle) cy.get(next).click() cy.get(title).should('have.text', oldTitle).then(() => done()) }) }) it('rerenders the crossword when you go to another day', (done) => { cy.get(crossword).fillCrossword() cy.get(prev).click() cy.get(cells).getCrossword().should('be.empty') cy.get(next).click() cy.get(cells).getCrossword().should('be.empty').then(() => done()) }) })