Насмешливая функция возвращает неопределенное - PullRequest
0 голосов
/ 28 марта 2020

У меня есть эта функция:

export const getGroups = async () => {
  if (userData !== false) return Promise.resolve(userData);

  try {
    const groupApiUrl = getDashboardPath(GROUPS_TAB_INDEX);
    const data = await fetch(groupApiUrl);
    userData = await data.json();
    return Promise.resolve(userData);
  } catch (error) {
    return Promise.reject(error);
  }
};

Я пытаюсь написать для нее тест:

jest.mock('../apis/getGroups.js');
const getGroups = require('./getGroups');

describe('getGroups', () => {
  it('calls api', async () => {
    // The assertion for a promise must be returned.
    const data = await getGroups();
    console.log('DATA', data);
    expect(data).toBe({
      groups: [
        { id: 1, name: 'fake data' },
        { id: 2, name: 'fake data 2' }
      ]
    });
  });
});

enter image description here

1 Ответ

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

async/await можно использовать в Jest, но вам нужно включить Babel. Чтобы включить асинхронное / ожидание в вашем проекте, установите @ babel / preset-env и включите эту функцию в файле babel.config. js.

Источник - https://jestjs.io/docs/en/tutorial-async

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