import React from 'react'; import { mount, render } from 'enzyme'; import RcTimePicker from 'rc-time-picker/lib/TimePicker'; import moment from 'moment'; import TimePicker from '..'; import focusTest from '../../../tests/shared/focusTest'; describe('TimePicker', () => { const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); afterEach(() => { errorSpy.mockReset(); }); afterAll(() => { errorSpy.mockRestore(); }); focusTest(TimePicker); it('renders addon correctly', () => { const addon = () => ; const wrapper = mount(); const rcTimePicker = wrapper.find(RcTimePicker); const addonWrapper = render(rcTimePicker.props().addon()); expect(addonWrapper).toMatchSnapshot(); }); it('allowEmpty deprecated', () => { mount(); expect(errorSpy).toHaveBeenCalledWith( 'Warning: [antd: TimePicker] `allowEmpty` is deprecated. Please use `allowClear` instead.', ); }); it('not render clean icon when allowClear is false', () => { const wrapper = mount( , ); expect(wrapper.render()).toMatchSnapshot(); }); it('handleChange should work correctly', done => { const date = moment('2000-01-01 00:00:00'); const onChange = (value, formattedValue) => { expect(value).toBe(date); expect(formattedValue).toBe(date.format('HH:mm:ss')); done(); }; const wrapper = mount().instance(); wrapper.handleChange(date); }); it('handleOpenClose should work correctly', done => { const onOpenChange = open => { expect(open).toBe(true); done(); }; const wrapper = mount().instance(); wrapper.handleOpenClose({ open: true }); }); it('clearIcon should render correctly', () => { const clearIcon =
test
; const wrapper = mount(); expect(wrapper.find('Picker').prop('clearIcon')).toEqual(
test
, ); }); it('prop locale should works', () => { const locale = { placeholder: 'Избери дата', }; const wrapper = mount(); expect(wrapper.render()).toMatchSnapshot(); }); });