context('/src/Extensions/History/Vue/', () => { beforeEach(() => { cy.visit('/src/Extensions/History/Vue/') cy.get('.ProseMirror').then(([{ editor }]) => { editor.commands.setContent('

Mistake

') }) }) it('should make the last change undone', () => { cy.get('.ProseMirror') .should('contain', 'Mistake') cy.get('button:first') .should('not.have.attr', 'disabled') cy.get('button:first') .click() cy.get('.ProseMirror') .should('not.contain', 'Mistake') }) it('should make the last change undone with the keyboard shortcut', () => { cy.get('.ProseMirror') .trigger('keydown', { modKey: true, key: 'z' }) cy.get('.ProseMirror') .should('not.contain', 'Mistake') }) it('should make the last change undone with the keyboard shortcut (russian)', () => { cy.get('.ProseMirror') .should('contain', 'Mistake') cy.get('.ProseMirror') .trigger('keydown', { modKey: true, key: 'я' }) cy.get('.ProseMirror') .should('not.contain', 'Mistake') }) it('should apply the last undone change again with the keyboard shortcut', () => { cy.get('.ProseMirror') .trigger('keydown', { modKey: true, key: 'z' }) cy.get('.ProseMirror') .should('not.contain', 'Mistake') cy.get('.ProseMirror') .trigger('keydown', { modKey: true, shiftKey: true, key: 'z' }) cy.get('.ProseMirror') .should('contain', 'Mistake') }) it('should apply the last undone change again with the keyboard shortcut (russian)', () => { cy.get('.ProseMirror') .trigger('keydown', { modKey: true, key: 'я' }) cy.get('.ProseMirror') .should('not.contain', 'Mistake') cy.get('.ProseMirror') .trigger('keydown', { modKey: true, shiftKey: true, key: 'я' }) cy.get('.ProseMirror') .should('contain', 'Mistake') }) it('should apply the last undone change again', () => { cy.get('.ProseMirror') .should('contain', 'Mistake') cy.get('button:first') .should('not.have.attr', 'disabled') cy.get('button:first') .click() cy.get('.ProseMirror') .should('not.contain', 'Mistake') cy.get('button:first') .should('have.attr', 'disabled') cy.get('button:nth-child(2)') .click() cy.get('.ProseMirror') .should('contain', 'Mistake') }) it('should disable undo button when there are no more changes to undo', () => { cy.get('.ProseMirror') .should('contain', 'Mistake') cy.get('button:first') .should('not.have.attr', 'disabled') cy.get('button:first') .click() cy.get('button:first') .should('have.attr', 'disabled') }) it('should disable redo button when there are no more changes to redo', () => { cy.get('.ProseMirror') .should('contain', 'Mistake') cy.get('button:nth-child(2)') .should('have.attr', 'disabled') cy.get('button:first') .should('not.have.attr', 'disabled') cy.get('button:first') .click() cy.get('button:nth-child(2)') .should('not.have.attr', 'disabled') }) })