Покрытие тестами 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, а вызывается с переданным аргументом? Буду рад если даже кинете ссылку на подобный вопрос, если его уже задавали, сам найти не смог. Спасибо


Ответы (0 шт):