UNPKG

react-form-validator-components

Version:

Components for react-form-validator-core

77 lines (67 loc) 2.24 kB
import React from 'react'; import renderer from 'react-test-renderer'; import MomentUtils from '@date-io/moment'; import moment from 'moment'; import { shallow } from 'enzyme'; import { MuiPickersUtilsProvider, ValidatorForm, DateValidator } from '../src/index.js'; describe('DateValidator', () => { test('renders', () => { const component = renderer.create( <MuiPickersUtilsProvider utils={MomentUtils} locale="en"> <ValidatorForm onSubmit={() => null}> <DateValidator value={moment('2019-01-01').toDate()} /> </ValidatorForm> </MuiPickersUtilsProvider> ); expect(component).toMatchSnapshot(); }); test('sets value to date', () => { const wrapper = shallow( <MuiPickersUtilsProvider utils={MomentUtils} locale="en"> <ValidatorForm onSubmit={() => null}> <DateValidator value={moment('2019-01-01').toDate()} /> </ValidatorForm> </MuiPickersUtilsProvider> ); expect(wrapper.find(DateValidator).dive().state('value')).toEqual(moment('2019-01-01').toDate()); }); test('calls onChange if value is false and defaultValue is valid', done => { function onChange(data) { expect(data).toEqual(moment('2019-01-01').toDate()); done(); } const wrapper = shallow( <MuiPickersUtilsProvider utils={MomentUtils}> <ValidatorForm onSubmit={() => null}> <DateValidator value={null} defaultValue={moment('2019-01-01').toDate()} onChange={onChange} /> </ValidatorForm> </MuiPickersUtilsProvider> ); wrapper.find(DateValidator).dive(); }); test('sets default value', done => { const wrapper = shallow( <MuiPickersUtilsProvider utils={MomentUtils}> <ValidatorForm onSubmit={() => null}> <DateValidator value={null} defaultValue={moment('2019-01-01').toDate()} /> </ValidatorForm> </MuiPickersUtilsProvider> ); const text = wrapper.find(DateValidator).dive(); setTimeout(() => { expect(text.state('value')).toEqual(moment('2019-01-01').toDate()); done(); }, 10); }); });