import React from 'react';
import { mount } from 'enzyme';
import Checkbox from '../index';
const defaultProps = {
type: 'checkbox',
name: 'checkbox',
onChange: jest.fn(),
};
const renderComponent = (props = defaultProps) =>
mount();
describe('', () => {
// eslint-disable-next-line jest/expect-expect
it('should not crash', () => {
renderComponent();
});
it('should send a boolean', () => {
const onChange = jest.fn();
const value = false;
const renderedComponent = renderComponent({
...defaultProps,
onChange,
value,
});
const element = renderedComponent.find('input');
element.simulate('change');
const expected = {
target: {
name: 'checkbox',
type: 'checkbox',
value: true,
},
};
expect(onChange).toHaveBeenLastCalledWith(expected);
});
it('should use the defaultProps', () => {
const {
defaultProps: { onChange },
} = Checkbox;
expect(onChange).toBeDefined();
expect(onChange({ preventDefault: jest.fn() })).toBe(undefined);
});
});