Покрытие тестами React-компонента на вызов функции при клике на кнопку
У меня есть функциональный компонент на React, который рендерит кнопку, которая при клике вызывает функцию из пропсов handleSave с переданным аргументом. Пытаюсь покрыть компонент тестами, не получается никак победить, в консоли тест падает с ошибкой о том, что функция не была вызвана. Приложил код компонента и теста (максимально все упростил для наглядности)
// код компонента
function Modal(props) {
const { handleSave } = props;
return (
<button onClick={() => {handleSave('someInfo')}}>Сохранить</button>
)
}
// код теста
describe('ModalComponent', () => {
it('should call handleSave function', () => {
const onSaveClickMock = jest.fn();
const component = mount(<Modal handleSave={onSaveClickMock} />);
const button = component.find('button');
button.simulate('click');
expect(onSaveClickMock).toHaveBeenCalled();
})
})
Как я понимаю, данная реализация теста подошла бы, если бы функция handleSave напрямую передавалась в onClick
<button onClick={handleSave}>Сохранить</button>
но у меня ситуация отличается. Подскажите пожалуйста, как можно реализовать тест, когда функция не просто передается в атрибут onClick, а вызывается с переданным аргументом? Буду рад если даже кинете ссылку на подобный вопрос, если его уже задавали, сам найти не смог. Спасибо