How to mock a method passed to react-final-form's <Form> element

532 Views Asked by At

Pretty new to react, I am working with form validation using react. I tried testing the createTask() defined below:

renderForm(handleSubmit) {
return (
  <form
    onSubmit={handleSubmit}
  >
    <div className="task-details">
        {(this.createTask()}
    </div>
  </form>);
}

render() {
return (
  <Form
    onSubmit={this.handleApplyClick}
    render={this.renderForm}
    validate={this.validateForm}
  />
 );
}

How do I mock the renderForm so that I can test createTask has been called? jest.fn() did not work for me which i did as below

 beforeEach(() => {
   testPanel = mountWithIntl(<TestPanel/>);
  });
 it('calls the createHeader', () => {
   testPanel.find('panelName').instance().renderForm = jest.fn();
   testPanel.find('panelName').instance().render();
   testPanel.update();
   expect(testPanel.find('panelName').instance().createHeader)
   .toHaveBeenCalled();
});

Thanks in advance

0

There are 0 best solutions below