Просмотр исходного кода

112131: wait for insert before delete

Futa Arai 3 лет назад
Родитель
Сommit
6638dd0488

+ 2 - 2
packages/app/src/server/service/questionnaire-cron.ts

@@ -50,7 +50,7 @@ class QuestionnaireCronService {
       const savedOrderIds = savedOrders.map(order => order._id.toString());
       // 渡されたアンケートのうち未保存のものを保存する
       const nonSavedOrders = questionnaireOrders.filter(order => !savedOrderIds.includes(order._id));
-      QuestionnaireOrder.insertMany(nonSavedOrders);
+      await QuestionnaireOrder.insertMany(nonSavedOrders);
     };
 
     const deleteFinishedOrders = async() => {
@@ -73,7 +73,7 @@ class QuestionnaireCronService {
         const questionnaireOrders: QuestionnaireOrderDocument[] = response.data.questionnaireOrders;
 
         await saveOrders(questionnaireOrders);
-        await deleteFinishedOrders();
+        deleteFinishedOrders();
       }
       catch (e) {
         logger.error(e);

+ 22 - 1
packages/app/test/integration/service/questionnaire-cron.test.ts

@@ -64,6 +64,27 @@ describe('QuestionnaireCronService', () => {
             },
           },
         },
+        // 保存されておらず、終了しているアンケート
+        {
+          _id: '63a8354837e7aa378e16f0b3',
+          showFrom: '2021-12-11',
+          showUntil: '2021-12-12',
+          questions: [
+            {
+              type: 'points',
+              text: 'これはいい質問ですか?',
+            },
+          ],
+          condition: {
+            user: {
+              types: ['general'],
+            },
+            growi: {
+              types: ['cloud'],
+              versionRegExps: ['2\\.0\\.[0-9]', '1\\.9\\.[0-9]'],
+            },
+          },
+        },
       ],
     },
   };
@@ -102,7 +123,7 @@ describe('QuestionnaireCronService', () => {
       },
       // 終了しているアンケート
       {
-        _id: '63a8354837e7aa378e16f0b3',
+        _id: '63a8354837e7aa378e16f0b4',
         showFrom: '2020-12-11',
         showUntil: '2021-12-12',
         questions: [