react-form-validator-components
Version:
Components for react-form-validator-core
67 lines (58 loc) • 1.59 kB
JavaScript
import React from 'react';
import renderer from 'react-test-renderer';
import { shallow } from 'enzyme';
import { ValidatorForm, TextValidator } from '../src/index.js';
describe('TextValidator', () => {
test('renders', () => {
const component = renderer.create(
<ValidatorForm onSubmit={() => null}>
<TextValidator
value={'Test'}
/>
</ValidatorForm>
);
let tree = component.toJSON();
expect(tree).toMatchSnapshot();
});
test('sets value', () => {
const wrapper = shallow(
<ValidatorForm onSubmit={() => null}>
<TextValidator
value={'test'}
/>
</ValidatorForm>
);
expect(wrapper.find(TextValidator).dive().state('value')).toEqual('test');
});
test('calls onChange if value is false and defaultValue is valid', done => {
function onChange(data) {
expect(data).toEqual('test');
done();
}
const wrapper = shallow(
<ValidatorForm onSubmit={() => null}>
<TextValidator
value={null}
defaultValue={'test'}
onChange={onChange}
/>
</ValidatorForm>
);
wrapper.find(TextValidator).dive();
});
test('sets default value', done => {
const wrapper = shallow(
<ValidatorForm onSubmit={() => null}>
<TextValidator
value={null}
defaultValue={'test'}
/>
</ValidatorForm>
);
const text = wrapper.find(TextValidator).dive();
setTimeout(() => {
expect(text.state('value')).toEqual('test');
done();
}, 10);
});
});