/* eslint-disable function-paren-newline, comma-dangle */ import React from 'react' import renderWithTheme from '../../testHelper' import CheckboxGroup from '../CheckboxGroup' describe('CheckboxGroup', () => { it('renders a CheckboxGroup', () => { const tree = renderWithTheme( ) expect(tree).toMatchSnapshot() }) describe('events', () => { it('handles onChange', () => { const wrapper = mount( ) const checkbox = wrapper.find('input#test-checkboxgroup-One') checkbox.simulate('change', { target: { checked: true, value: 'one' } }) expect(wrapper.state('values')).toEqual(['one']) checkbox.simulate('change', { target: { checked: false, value: 'one' } }) expect(wrapper.state('values')).toEqual([]) }) it('Does not select same value twice', () => { const wrapper = mount( ) const checkbox = wrapper.find('input#test-checkboxgroup-One') checkbox.simulate('change', { target: { checked: true, value: 'one' } }) expect(wrapper.state('values')).toEqual(['one']) checkbox.simulate('change', { target: { checked: true, value: 'one' } }) expect(wrapper.state('values')).toEqual(['one']) }) it('Does not select same value twice when aldreay populated with a duplicate', () => { const wrapper = mount( ) const checkbox = wrapper.find('input#test-checkboxgroup-One') wrapper.setState({ values: ['one', 'one'] }) expect(wrapper.state('values')).toEqual(['one', 'one']) checkbox.simulate('change', { target: { checked: true, value: 'two' } }) expect(wrapper.state('values')).toEqual(['one', 'two']) }) }) })