Я пытаюсь протестировать реквизит по умолчанию, который является типом функции, но не уверен, как это сделать с помощью шутки или шпионажа Jest:
Попытка следующего теста:
it("should call default toggle function prop on click of footer button", () => {
const wrapper = shallow(
<InfoModal
isOpen={true}
message="Primary message"
secondaryMessage="Secondary message"
/>
);
const footerButton = wrapper.find("ModalFooter Button");
const fn = jest.spyOn(wrapper.props(), "toggle");
footerButton.simulate("click");
wrapper.update();
expect(fn).toHaveBeenCalled();
});
Этоговорит TypeError: Невозможно назначить только для чтения свойство 'toggle' объекта '[object Object]' , где toggle является функцией в качестве значения по умолчанию для InfoModal
.
Как мы можем проверитьФункция prop, которая была установлена по умолчанию, не определена пользователем.