UNPKG

zarm-web

Version:
135 lines (114 loc) 3.35 kB
import React from 'react'; import { render, mount } from 'enzyme'; import toJson from 'enzyme-to-json'; import Checkbox from '../index'; describe('Checkbox', () => { it('renders normal Checkbox correctly', () => { const wrapper = render( <Checkbox checked value="0" > 选择0 </Checkbox>, ); expect(toJson(wrapper)).toMatchSnapshot(); }); it('renders disabled Checkbox correctly', () => { const wrapper = render( <Checkbox checked disabled value="0" > 选择0 </Checkbox>, ); expect(toJson(wrapper)).toMatchSnapshot(); }); it('renders indeterminate Checkbox correctly', () => { const wrapper = render( <Checkbox indeterminate value="0" > 选择0 </Checkbox>, ); expect(toJson(wrapper)).toMatchSnapshot(); }); it('renders disabled CheckboxGroup correctly', () => { const wrapper = render( <Checkbox.Group> <Checkbox value="a">A</Checkbox> <Checkbox value="b">B</Checkbox> <Checkbox value="c">C</Checkbox> <Checkbox value="d">D</Checkbox> </Checkbox.Group>, ); expect(toJson(wrapper)).toMatchSnapshot(); }); it('renders CheckboxGroup correctly with defaultValue', () => { const wrapper = render( <Checkbox.Group defaultValue={['a']}> <Checkbox value="a">A</Checkbox> <Checkbox value="b">B</Checkbox> <Checkbox value="c">C</Checkbox> <Checkbox value="d">D</Checkbox> </Checkbox.Group>, ); expect(toJson(wrapper)).toMatchSnapshot(); }); it('behaves correctly when clicking on Checkbox', () => { const onChange = jest.fn(); const wrapper = mount( <Checkbox onChange={onChange} value="0" > 选择0 </Checkbox>, ); wrapper.find('input').simulate('change'); expect(onChange).toHaveBeenCalled(); }); it('behaves correctly when clicking on Checkbox', () => { const onChange = jest.fn(); const wrapper = mount( <Checkbox onChange={onChange} value="0" > 选择0 </Checkbox>, ); wrapper.find('input').simulate('change'); expect(onChange).toHaveBeenCalled(); }); it('behaves correctly when checking in CheckboxGroup', () => { const onChange = jest.fn(); const wrapper = mount( <Checkbox.Group onChange={onChange}> <Checkbox value="a">A</Checkbox> <Checkbox value="b">B</Checkbox> <Checkbox value="c">C</Checkbox> <Checkbox value="d">D</Checkbox> </Checkbox.Group>, ); wrapper.find('input').first().simulate('change'); expect(onChange).toHaveBeenCalledWith(['a']); }); it('behaves correctly when CheckboxGroup receives new value', () => { const wrapper = mount( <Checkbox.Group value={[]}> <Checkbox value="a">A</Checkbox> <Checkbox value="b">B</Checkbox> <Checkbox value="c">C</Checkbox> <Checkbox value="d">D</Checkbox> </Checkbox.Group>, ); expect(wrapper.find('.zw-checkbox').first().hasClass('zw-checkbox--checked')).toBeFalsy(); wrapper.setProps({ value: ['a'] }); expect(wrapper.find('.zw-checkbox').first().hasClass('zw-checkbox--checked')).toBeTruthy(); }); });