Фермент / Jest: «Не удается прочитать свойство 'nodeType' со значением NULL» при ожидании разрешения Promise - PullRequest
0 голосов
/ 19 февраля 2019

Итак, в тесте 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();
};
...