import * as React from 'react'; import { configure, mount, ReactWrapper } from 'enzyme'; import Adapter from 'enzyme-adapter-react-16'; import Story from './Story'; import SpreadSheet from '../../../SpreadSheetProvider'; import { getCellsInfo } from '../helper'; import { sliceBy, mockResizeObserver } from 'valor-app-utils'; mockResizeObserver(); configure({ adapter: new Adapter() }); describe('', () => { it('选择第一个大合并单元格, 点合并后, 实际为拆分', () => { const wrapper = mount(); const sheetWrapper = wrapper.find(SpreadSheet).at(0); let cellInfo = getCellsInfo(wrapper); expect(cellInfo.resultIds).toEqual([...[11], ...[], ...[31, 32, 33]]); expect(cellInfo.resultValues).toEqual([...[1], ...[], ...[2, 1, 1]]); // 选择第一个单元格 const spreadSheetInstance = sheetWrapper.instance() as any; spreadSheetInstance.runtime.fsmService.send('MOUSE.DOWN', { selectedCell: 11 }); wrapper .find('#mergeCell') .at(0) .simulate('click'); cellInfo = getCellsInfo(wrapper); expect(cellInfo.resultValues).toEqual([...[1, 0, 0], ...[0, 0, 0], ...[2, 1, 1]]); // 由于无法选择自动选择多个单元格, 所以别的只好手测 wrapper .find('#undo') .at(0) .simulate('click'); cellInfo = getCellsInfo(wrapper); expect(cellInfo.resultIds).toEqual([...[11], ...[], ...[31, 32, 33]]); expect(cellInfo.resultValues).toEqual([...[1], ...[], ...[2, 1, 1]]); wrapper .find('#redo') .at(0) .simulate('click'); cellInfo = getCellsInfo(wrapper); expect(cellInfo.resultValues).toEqual([...[1, 0, 0], ...[0, 0, 0], ...[2, 1, 1]]); }); });