Я пытаюсь написать 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"});
});