我有一个像波纹管这样的onUpdate函数
onUpdate = data => {
if (parseInt(data.quantity) < 1) {
this.props.setErrorPopUp({
message: 'You cannot set quantity to zero.Use delete actions',
action: 'danger',
time: '5000'
})
} else {
this.props.formSubmitAttempt({
product: data.id,
quantity: data.quantity
})
}
}
我想写一个测试来测试这两种情况。 由于我是新手,我如何测试这种情况 谢谢
答案 0 :(得分:1)
您可以使用实例获取onUpdate函数,并将setErrorPopup和formSubmitAttempt传递为模拟。
const props = {
setErrorPopUp: jest.fn();
formSubmitAttempt: jest.fn();
}
const wrapper = shallow(<Component {...props} />
wrapper.instance().onUpdate({ quantity: 0});
expect(props.setErrorPopUp).toHaveBeenCalled();
wrapper.instance().onUpdate({ quantity: 3 });
expect(props.formSubmitAttempt).toHaveBeenCalled();