it('should submit ', function (done) { const loader = loaderFactory([DefaultLoader]); loader.addTemplate({TestForm}); const valueManager = ValueManager(); valueManager.addSubmitListener(null, (e, err, value, path)=> { e && e.preventDefault(); expect(Object.keys(value).length).toBe(0); expect(err['hello']).toExist(); expect(err['deep.test']).toExist(); done(); }); const schema = { schema: { "hello": { "type": "Text", "validators": ["required"] }, "deep": { "type": "Object", "template": "TestForm", "subSchema": { "schema": { "test": { "type": "Text", "validators": ["required"] } }, "fieldsets": [{ "fields": "test", buttons: ["submit"] }] } } } }; const form = into(<Form template="ObjectTemplate" loader={loader} schema={schema} valueManager={valueManager}/>, true); const f = byTag(form, "form"); Simulate.submit(f); // f.submit(); });
"use strict"; import {loaderFactory, PropTypes} from "Subschema"; import MaskedInput from "react-maskedinput"; import ReactSelect from "react-select"; import 'react-select/dist/react-select.css'; //this is the entry for exporting library. const loader = loaderFactory(); ReactSelect.propTypes.onChange = PropTypes.valueEvent; ReactSelect.propTypes.value = PropTypes.value; loader.addType({ MaskedInput, ReactSelect }); export default loader;