Тестирование вложенного обещания Bluebird без возвращаемого значения внутри функции с помощью Jest - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь написать Jest-тест, который вызывает вложенное обещание bluebird.map, которое вызывает приватную функцию. Всякий раз, когда я запускаю тест, обещание синей птицы никогда не кажется выполненным. В конечном итоге я хочу иметь возможность проверить результаты некоторых частных функций, но я не могу их обработать. Я новичок в Jest и не смог найти ответ.

Код:

export async function doWork() {
  const batchTasks = await getTasks({state: init})
  await bluebird.map(batchTasks.items, processTask, {concurrency: 1});
}

async function processTask(task) {
   const campaign = () => stores.campaign.get({campaignId}) 
   const user = () => stores.user.get({userId})
   processSubTask(campaign, user);
}

Тест:

Примечание. Мне удалось успешно смоделировать начальные вызовы БД кормить getTasks () сверху.

  it('Should call the private function', async () => {
    spyStoreBatchWork_search = jest
      .spyOn(stores.batchTasks, 'search')
      .mockImplementation(() => ({
        items: [TEST_BATCH_TASK_ITEM]
      }));

    sendBatchWork.doWork({state: "init"});

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