/* global cy */ import { ObjectInterface } from 'script' import TransferTable from './index.vue' import { OperatesInterface } from 'components/table/model/table' import { reactive } from 'vue' describe('', () => { let columns = [ { prop: 'name', label: '名称' }, { prop: 'filed1', label: '字段1' }, { prop: 'filed2', label: '字段2' } ] const listData = [ { name: '测试1', filed1: 'filed1', filed2: 'filed2', id: 0 }, { name: '测试2', filed1: 'filed1_1', filed2: 'filed2_2', id: 1 } ] const tableConfig = { i18n: true, tooltip: true, stripe: true, rowKey: 'id', mutiSelect: true } const operations: OperatesInterface = reactive({ isHiddenOperates: false, width: 240, fixed: 'right', i18n: true, list: [ { label: '按钮测试', type: 'text', plain: true, code: 'edit', disabled: (row: object) => { return false }, method: (index: number, row: ObjectInterface) => { } } ] }) const topOperations = { allAdd: true, add: true, delete: true } it('title能否正确显示', () => { cy.mount(TransferTable, { props: { title: '测试', searchField: 'name', listData, columns, operations, topOperations } }) cy.get('.card.transfer-table .custom span').should('have.text', '测试') }) it('顶部图标能否正确显示及功能回调是否正确', () => { cy.mount(TransferTable, { props: { title: '测试', searchField: 'name', listData, columns, operations, topOperations, tableConfig }, emits: { deleted: cy.spy().as('delete'), handleSelectData: cy.spy().as('handleSelectData'), handleFilterTableData: cy.spy().as('handleFilterTableData') } }) cy.get('.card.transfer-table .custom .btn .el-icon').first().click() cy.get('@handleSelectData').should('have.been.called') // // 删除 cy.get('.card.transfer-table .el-table__row .el-table-column--selection').first().click() cy.get('.card.transfer-table .custom .btn .el-icon').eq(2).click() cy.get('@delete').should('have.been.called') // cy.get('.card.transfer-table .el-table__row').should('have.length', 1) }) it('测试字段过滤', () => { cy.mount(TransferTable, { props: { title: '测试', searchField: 'name', listData: [ { name: '测试1', filed1: 'filed1', filed2: 'filed2', id: 0 }, { name: '测试2', filed1: 'filed1_1', filed2: 'filed2_2', id: 1 } ], columns, operations, tableConfig, topOperations: { allAdd: true, add: true, delete: true, isTwoRow: true } }, emits: { handleFilterTableData: cy.spy().as('handleFilterTableData') } }) cy.get('.card.transfer-table .custom .el-input__inner').should('have.attr', 'placeholder', '请输入内容') cy.get('.card.transfer-table .custom .el-input__inner').type('1') cy.get('@handleFilterTableData').should('have.been.called') // cy.get('.card.transfer-table .el-table__row').should('have.length', 1) // cy.get('.card.transfer-tabe .custom .el-input__inner').clear().type('测试') // cy.get('.card.transfer-table .el-table__row').should('have.length', 2) }) })