У меня есть проблема, которую я не могу понять, и я надеялся, что кто-то может помочь мне с этим.
Это мой тест: state.messages - пустой массив и api.botReply вызывается 0 разкогда он находится в функции для запуска.
state.typing установлен в значение true, поэтому я знаю, что я запускаю функцию.
test('test to resolve data from botReply', done => {
const wrapper = shallow(<Bot />);
api.botReply = jest.fn(() =>
Promise.resolve(wrapper.setState({ typing: false }))
);
wrapper.instance().sendReply();
setImmediate(() => {
wrapper.update();
console.log(wrapper.state('typing'));
console.log(wrapper.state('messages'));
expect(api.botReply).toHaveBeenCalledTimes(1);
done();
});
});
И это функция, которая запускается:
sendReply = () => {
this.setState({ typing: true });
api.botReply()
.then(reply => {
this.setState({ messages: [...this.state.messages, reply], typing: false });
})
};