Преглед на файлове

refs 112133: imprv test

Futa Arai преди 3 години
родител
ревизия
f92535f004
променени са 1 файла, в които са добавени 6 реда и са изтрити 2 реда
  1. 6 2
      packages/app/test/integration/service/questionnaire-cron.test.ts

+ 6 - 2
packages/app/test/integration/service/questionnaire-cron.test.ts

@@ -193,10 +193,14 @@ describe('QuestionnaireCronService', () => {
 
 
   test('Should save quesionnaire orders and delete outdated ones', async() => {
   test('Should save quesionnaire orders and delete outdated ones', async() => {
     jest.advanceTimersByTime(5 * 1000); // cronjob 実行時刻まで進める
     jest.advanceTimersByTime(5 * 1000); // cronjob 実行時刻まで進める
-    jest.advanceTimersByTime(secondsUntilRequest); // 待機時間の最大値まで進め、リクエストを実行する
+    jest.advanceTimersByTime(secondsUntilRequest); // 待機時間進め、リクエストを実行する
     jest.useRealTimers(); // cronjob 実行開始後は real timers に戻さないと mongoose が正常に動作しない
     jest.useRealTimers(); // cronjob 実行開始後は real timers に戻さないと mongoose が正常に動作しない
 
 
-    await new Promise(resolve => setTimeout(resolve, 5000)); // 裏で動いている cronjob が実行完了するまで待つ
+    await new Promise((resolve) => {
+      // cronjob の実行完了を待つ
+      // refs: https://github.com/node-cron/node-cron/blob/a0be3f4a7a5419af109cecf4a41071ea559b9b3d/src/task.js#L24
+      crowi.questionnaireCronService.cronJob._task.once('task-finished', resolve);
+    });
 
 
     const savedOrders = await QuestionnaireOrder.find()
     const savedOrders = await QuestionnaireOrder.find()
       .select('-condition._id -questions._id')
       .select('-condition._id -questions._id')