import React from 'react'; import { mount } from 'enzyme'; import createStore from '../createStore'; import SelectionBox from '../SelectionBox'; const getDefaultStore = selectedRowKeys => createStore({ selectedRowKeys: selectedRowKeys || [], selectionDirty: false, }); describe('SelectionBox', () => { it('unchecked by selectedRowKeys ', () => { const wrapper = mount( {}} defaultSelection={[]} />, ); expect(wrapper.state()).toEqual({ checked: false }); }); it('checked by selectedRowKeys ', () => { const wrapper = mount( {}} defaultSelection={[]} />, ); expect(wrapper.state()).toEqual({ checked: true }); }); it('checked by defaultSelection', () => { const wrapper = mount( {}} defaultSelection={['1']} />, ); expect(wrapper.state()).toEqual({ checked: true }); }); it('checked when store change', () => { const store = getDefaultStore(); const wrapper = mount( {}} defaultSelection={[]} />, ); store.setState({ selectedRowKeys: ['1'], selectionDirty: true, }); expect(wrapper.state()).toEqual({ checked: true }); }); it('passes props to Checkbox', () => { const checkboxProps = { name: 'testName', id: 'testId', }; const wrapper = mount( {}} defaultSelection={['1']} {...checkboxProps} />, ); wrapper.find('Checkbox').forEach(box => { expect(box.props().name).toEqual(checkboxProps.name); expect(box.props().id).toEqual(checkboxProps.id); }); }); it('passes props to Radios', () => { const radioProps = { name: 'testName', id: 'testId', }; const wrapper = mount( {}} defaultSelection={['1']} type="radio" {...radioProps} />, ); wrapper.find('Radio').forEach(radio => { expect(radio.props().name).toEqual(radioProps.name); expect(radio.props().id).toEqual(radioProps.id); }); }); });