Шут обещание возвращается неопределенным - PullRequest
0 голосов
/ 18 марта 2020

Мой код:

this.apiStore.fetchOrder(id).then(() => {
  alert("Success");
  // TODO - ui updates
})

Jest test:

  describe("order", () => {
    it("fetches the order", () => {
      const fetchOrder = jest.fn();
      const id = 100;
      expect(fetchOrder).toHaveBeenCalledWith(id);
    });
  });

Но я получаю следующую ошибку:

Невозможно прочитать свойство then of undefined

Есть идеи, как это исправить?

Редактировать 1:

API-вызов Fetchorder определен следующим образом

fetchOrder = (orderId) => {
    return this.fetch(
      `/api/order.json`,
      {
        method: "POST",
        body: {
          id: orderId
        },
      }
    );
  };

Сейчас я возвращаю ответ как

{"status":"ok"}

, если я удалите .then() => {..}, тогда тест выполняется нормально. Есть идеи?

Редактировать 2: Код бэкэнда выглядит следующим образом

def fetch_order
  render json: { status: :ok }
end

1 Ответ

0 голосов
/ 18 марта 2020

Функция fetchOrder не возвращает экземпляр Promise, вы должны проверить его реализацию или поделиться им.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...