import * as React from "react" import { mount } from "enzyme" import TestRenderer from "react-test-renderer" import Table from ".." window.ResizeObserver = window.ResizeObserver || jest.fn().mockImplementation(() => ({ disconnect: jest.fn(), observe: jest.fn(), unobserve: jest.fn(), })) const { Column } = Table const dataSource = [ { key: 0, one: "第一项", }, { key: 1, one: "第二项", }, { key: 2, one: "第三项", }, ] class ExpandMounter extends React.Component { state = { keys: null, } render() { const { keys } = this.state return ( this.setState({ keys: argKeys })} >
) } } describe("base", () => { it("快照核对", () => { const wrapper = TestRenderer.create( {}} >
) expect(wrapper).toMatchSnapshot() }) it("是否能内部驱动", () => { const onExpandChange = jest.fn() const wrapper = mount(
) expect(wrapper.find("Table").state().expandedRowKeys).toEqual([1]) wrapper.find("Icon").at(0).simulate("click") expect(wrapper.find("Table").state().expandedRowKeys).toEqual([1, 0]) }) it("是否能外部控制", () => { const onExpandChange = jest.fn() const wrapper0 = mount(
) expect(wrapper0.find("Table").state().expandedRowKeys).toEqual([1]) wrapper0.find("Icon").at(0).simulate("click") expect(wrapper0.find("Table").state().expandedRowKeys).toEqual([1]) const wrapper1 = mount() wrapper1.find("Icon").at(0).simulate("click") expect(wrapper1.find("Table").state().expandedRowKeys).toEqual([0]) wrapper1.find("Icon").at(0).simulate("click") expect(wrapper1.find("Table").state().expandedRowKeys).toEqual([]) }) it("是否支持 expandOnRowClick", () => { const onExpandChange = jest.fn() const wrapper = mount(
) wrapper.find('[role="row"]').at(0).simulate("click") expect(onExpandChange).toHaveBeenCalledWith([1, 0]) }) })