Итак, в тесте Jest + Enzyme я пытаюсь проверить успешный обратный вызов вызова конечной точки.
Я использую waitForExpect , чтобы дождаться разрешения Promise, чтобы впоследствии проверить состояние моей оболочки, и использую nock для проверки ответа конечной точки.
ЧтоВ данный момент у меня есть что-то вроде этого (внутри функции async
):
createScope()
.get('/someEndpoint')
.query({
data: something
})
.reply(200, 'expectedData');
const wrapper = mount(
<MyComponent/>
);
wrapper
.find('[data-enzyme-id="validator-action"]')
.first()
.simulate('click');
await waitForExpect(() => {
expect(wrapper.state('status')).toBe('success');
})
Когда я запускаю этот тест, я получаю ошибку в переменной wrapper
внутри waitForExpect
:
TypeError: Cannot read property 'nodeType' of null
Что мне здесь не хватает?Почему моя оболочка обнуляется внутри waitForExpect
?
Редактировать : вот что я пытаюсь проверить на MyComponent
:
getDetails({
name: validatorName
})
.then(details => {
// ...do something with the details, and in the end update the state
this.setState({
status: 'success'
});
})
.catch(error => {
this.setState({
status: error
});
});
И getDetails
- это сервисный модуль, использующий wretch
для фактического вызова:
const getDetails = data => {
return wretch('/someEndpoint')
.query(data)
.get()
.json();
};