cypress/fixtures/actions/ActionCallbackFixture.js (48 lines of code) (raw):
import React from 'react';
import FormBuilder from '~form-builder';
const config = {
version: 0,
id: 'testForm',
fields: [
{
id: '1',
path: 'button',
type: 'dummy-button',
data: {
label: 'Q1',
},
actions: [
{
type: 'triggers',
},
],
},
],
};
const renderButtons = () => {
return <button id="submit-it" type="submit">Submit</button>;
};
const registeredComponents = {
'dummy-button': {
component: ({path, runActions}) => {
return <button id={path} type="button" onClick={e => {runActions()}}>Test button</button>
}
}
}
const registeredActions = {
triggers: ({triggerCallback}) => {
triggerCallback('TEST_TYPE', 'TEST_DATA');
},
};
window.handleSubmitFn = values => {};
window.handleActionCallbackFn = () => {};
export default class SetValueFixture extends React.Component {
render() {
return (
<FormBuilder
config={config}
registeredComponents={registeredComponents}
registeredActions={registeredActions}
onSubmit={(...params) => { window.handleSubmitFn(...params); }} // Method used to spy on callbacks in cypress
onActionCallback={(...params) => { window.handleActionCallbackFn(...params); }}
renderButtons={renderButtons}
/>
);
}
}