cypress/fixtures/validation/ChildValidationFixture.js (75 lines of code) (raw):

import React from 'react'; import FormBuilder from '~form-builder'; import registeredComponents from '../setup/registeredComponents'; import registeredValidators from '../setup/registeredValidators'; const config = { version: 0, id: 'testForm', initialErrors: { person1: [ { message: 'Field level server error', children: [ { name: 'given', message: 'Given name server error', summaryLabel: 'Person 1 - Given name', }, { name: 'family', message: 'Family name server error', summaryLabel: 'Person 1 - Family name', }, ], }, ], }, fields: [ { id: 'person1', path: 'person1', type: 'dummy-grouped-input', data: { label: 'Person 2', }, }, { id: 'person2', path: 'person2', type: 'dummy-grouped-input', data: { label: 'Person 2', }, validators: [ { type: 'nameIsNotJohnSmith', message: 'Name error', options: { max: 10, }, }, ], }, ], }; const renderButtons = () => { return <button id="submit-it" type="submit">Submit</button>; }; window.handleSubmitFn = values => { console.log(values); }; export default class ChildValidationFixture extends React.Component { render() { return ( <FormBuilder config={config} registeredComponents={registeredComponents} registeredValidators={registeredValidators} onSubmit={values => { console.log(values); }} // Method used to spy on callbacks in cypress renderButtons={renderButtons} /> ); } }