react-form-controlled
Version:
Intuitive react forms for building powerful applications
76 lines (67 loc) • 2 kB
JavaScript
import React from 'react';
import { mount } from 'enzyme';
import Form, { Integrate } from '../src';
describe('Integrate', () => {
it('should be able to create simple object', () => {
const value = {
place: 'Kosice'
};
const wrapper = mount(React.createElement(
Form,
{ value: value },
React.createElement(Integrate, {
name: 'place',
render: ({ value, onChange }) => React.createElement('input', { placeholder: '1122', value: value, onChange: onChange })
})
));
expect(wrapper.find('input').first().props().value).toBe('Kosice');
});
it('should be able to use children function', () => {
const state = {
place: 'Kosice'
};
const wrapper = mount(React.createElement(
Form,
{ value: state },
React.createElement(
Integrate,
{
name: 'place'
},
({ name, value, onChange }) => React.createElement('input', { placeholder: '1122', name: name, value: value, onChange: onChange })
)
));
expect(wrapper.find('input').first().props().value).toBe('Kosice');
});
it('should be able to create object', () => {
const value = {
rows: [123, 456]
};
const wrapper = mount(React.createElement(
Form,
{ value: value },
React.createElement(
'table',
null,
React.createElement(
'tbody',
{ name: 'rows' },
React.createElement(
'tr',
null,
React.createElement(
'td',
null,
React.createElement(Integrate, {
name: '.',
render: ({ name, value, onChange }) => React.createElement('input', { placeholder: '1122', name: name, value: value, onChange: onChange })
})
)
)
)
)
));
expect(wrapper.find('input').first().props().value).toBe(123);
});
});
//# sourceMappingURL=Integrate.test.js.map