From af1f86eaa255f7ad9ec33d8c23e907af833c1f3c Mon Sep 17 00:00:00 2001 From: Hufe921 Date: Sat, 19 Mar 2022 17:16:00 +0800 Subject: [PATCH] feat:add search test case --- cypress/integration/menus/search.spec.ts | 104 +++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 cypress/integration/menus/search.spec.ts diff --git a/cypress/integration/menus/search.spec.ts b/cypress/integration/menus/search.spec.ts new file mode 100644 index 0000000..29e37fa --- /dev/null +++ b/cypress/integration/menus/search.spec.ts @@ -0,0 +1,104 @@ +import Editor, { ElementType } from '../../../src/editor' + +describe('菜单-搜索', () => { + + beforeEach(() => { + cy.visit('http://localhost:3000/canvas-editor/') + + cy.get('canvas').first().as('canvas').should('have.length', 1) + }) + + const searchText = 'canvas-editor' + const replaceText = 'replace' + const type: ElementType = 'table' + + it('搜索', () => { + cy.getEditor().then((editor: Editor) => { + editor.listener.saved = function (payload) { + const data = payload.data + + // 普通文本 + expect(data[0].value).to.be.eq(replaceText) + + // 表格内文本 + expect(data[1].trList![0].tdList[0].value[0].value).to.be.eq(replaceText) + expect(data[1].trList![1].tdList[1].value[0].value).to.be.eq(replaceText) + } + + editor.command.executeSelectAll() + + editor.command.executeBackspace() + + editor.command.executeInsertElementList([ + { + value: searchText + }, + { + value: "\n", + type, + trList: [ + { + height: 42, + tdList: [ + { + colspan: 1, + rowspan: 1, + value: [ + { + value: searchText + } + ] + }, + { + colspan: 1, + rowspan: 1, + value: [] + } + ] + }, + { + height: 42, + tdList: [ + { + colspan: 1, + rowspan: 1, + value: [] + }, + { + colspan: 1, + rowspan: 1, + value: [ + { + value: searchText + } + ] + } + ] + } + ], + colgroup: [ + { + width: 200 + }, + { + width: 200 + } + ] + } + ]) + + cy.get('.menu-item__search').click() + + cy.get('.menu-item__search__collapse input').eq(0).type(searchText) + + cy.get('.menu-item__search__collapse__replace').as('replace') + + cy.get('@replace').find('input').type(replaceText) + + cy.get('@replace').find('button').click() + + cy.get('@canvas').type('{ctrl}s') + }) + }) + +})