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])
})
})