emberflow 1.3.74 → 1.3.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -31,6 +31,7 @@ export declare function runViewLogics(logicResultDoc: LogicResultDoc): Promise<L
31
31
  export declare function onDeleteFunction(event: FirestoreEvent<QueryDocumentSnapshot | undefined, {
32
32
  deleteFuncId: string;
33
33
  }>): Promise<void>;
34
+ export declare function createMetricLogicDoc(logicName: string): Promise<void>;
34
35
  declare function createMetricExecution(logicResults: LogicResult[]): Promise<void>;
35
36
  export declare function cleanMetricExecutions(event: ScheduledEvent): Promise<void>;
36
37
  export declare function createMetricComputation(event: ScheduledEvent): Promise<void>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cleanMetricComputations = exports.createMetricComputation = exports.cleanMetricExecutions = exports.onDeleteFunction = exports.runViewLogics = exports.expandConsolidateAndGroupByDstPath = exports.getSecurityFn = exports.groupDocsByTargetDocPath = exports.runBusinessLogics = exports.delayFormSubmissionAndCheckIfCancelled = exports.getFormModifiedFields = exports.validateForm = exports.distributeLater = exports.distribute = exports.distributeDoc = exports._mockable = void 0;
3
+ exports.cleanMetricComputations = exports.createMetricComputation = exports.cleanMetricExecutions = exports.createMetricLogicDoc = exports.onDeleteFunction = exports.runViewLogics = exports.expandConsolidateAndGroupByDstPath = exports.getSecurityFn = exports.groupDocsByTargetDocPath = exports.runBusinessLogics = exports.delayFormSubmissionAndCheckIfCancelled = exports.getFormModifiedFields = exports.validateForm = exports.distributeLater = exports.distribute = exports.distributeDoc = exports._mockable = void 0;
4
4
  const index_1 = require("./index");
5
5
  const paths_1 = require("./utils/paths");
6
6
  const misc_1 = require("./utils/misc");
@@ -371,6 +371,12 @@ async function expandConsolidateAndGroupByDstPath(logicDocs) {
371
371
  }
372
372
  existingDoc.instructions = Object.assign(Object.assign({}, existingDoc.instructions), logicResultDoc.instructions);
373
373
  existingDoc.doc = Object.assign(Object.assign({}, existingDoc.doc), logicResultDoc.doc);
374
+ if (logicResultDoc.journalEntries) {
375
+ if (!existingDoc.journalEntries) {
376
+ existingDoc.journalEntries = [];
377
+ }
378
+ existingDoc.journalEntries.push(...logicResultDoc.journalEntries);
379
+ }
374
380
  merged = true;
375
381
  break;
376
382
  }
@@ -425,6 +431,7 @@ async function expandConsolidateAndGroupByDstPath(logicDocs) {
425
431
  logicDocs.splice(i, 1, ...expandedLogicResultDocs);
426
432
  }
427
433
  }
434
+ await expandRecursiveActions();
428
435
  async function convertCopyToMerge() {
429
436
  for (const doc of logicDocs) {
430
437
  const { srcPath, action, } = doc;
@@ -437,7 +444,6 @@ async function expandConsolidateAndGroupByDstPath(logicDocs) {
437
444
  doc.action = "merge";
438
445
  }
439
446
  }
440
- await expandRecursiveActions();
441
447
  await convertCopyToMerge();
442
448
  const consolidated = new Map();
443
449
  for (const doc of logicDocs) {
@@ -534,6 +540,16 @@ async function deleteFunction(projectId, functionName) {
534
540
  console.log(`Function '${functionName}' not found or location not available.`);
535
541
  }
536
542
  }
543
+ async function createMetricLogicDoc(logicName) {
544
+ const metricsRef = index_1.db.doc(`@metrics/${logicName}`);
545
+ if (!await paths_1._mockable.doesPathExists(metricsRef.path)) {
546
+ await metricsRef.set({
547
+ totalExecTime: 0,
548
+ totalExecCount: 0,
549
+ });
550
+ }
551
+ }
552
+ exports.createMetricLogicDoc = createMetricLogicDoc;
537
553
  async function createMetricExecution(logicResults) {
538
554
  const metricsRef = index_1.db.collection("@metrics");
539
555
  for (const logicResult of logicResults) {
@@ -1 +1 @@
1
- {"version":3,"file":"index-utils.js","sourceRoot":"","sources":["../src/index-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-utils.js","sourceRoot":"","sources":["../src/index-utils.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { FirebaseAdmin, LogicConfig, ProjectConfig, SecurityConfig, ValidatorConfig, ViewLogicConfig } from "./types";
2
2
  import { Firestore } from "firebase-admin/firestore";
3
3
  import { DatabaseEvent, DataSnapshot } from "firebase-functions/v2/database";
4
- import { database } from "firebase-admin";
4
+ import { database, firestore } from "firebase-admin";
5
5
  import { PubSub, Topic } from "@google-cloud/pubsub";
6
6
  import Database = database.Database;
7
7
  export declare let admin: FirebaseAdmin;
@@ -29,7 +29,7 @@ export declare let VIEW_LOGICS_TOPIC: Topic;
29
29
  export declare let FOR_DISTRIBUTION_TOPIC: Topic;
30
30
  export declare let INSTRUCTIONS_TOPIC: Topic;
31
31
  export declare const _mockable: {
32
- createNowTimestamp: () => FirebaseFirestore.Timestamp;
32
+ createNowTimestamp: () => firestore.Timestamp;
33
33
  initActionRef: typeof initActionRef;
34
34
  };
35
35
  export declare function initializeEmberFlow(customProjectConfig: ProjectConfig, adminInstance: FirebaseAdmin, customDbStructure: Record<string, object>, CustomEntity: Record<string, string>, customSecurityConfig: SecurityConfig, customValidatorConfig: ValidatorConfig, customLogicConfigs: LogicConfig[]): {
@@ -38,6 +38,6 @@ export declare function initializeEmberFlow(customProjectConfig: ProjectConfig,
38
38
  docPathsRegex: Record<string, RegExp>;
39
39
  functionsConfig: Record<string, any>;
40
40
  };
41
- declare function initActionRef(actionId: string): FirebaseFirestore.DocumentReference<FirebaseFirestore.DocumentData>;
41
+ declare function initActionRef(actionId: string): firestore.DocumentReference<firestore.DocumentData>;
42
42
  export declare function onFormSubmit(event: DatabaseEvent<DataSnapshot>): Promise<void>;
43
43
  export {};
package/lib/index.js CHANGED
@@ -42,6 +42,7 @@ const view_logics_1 = require("./logics/view-logics");
42
42
  const bill_protect_1 = require("./utils/bill-protect");
43
43
  const database_1 = require("firebase-functions/v2/database");
44
44
  const paths_1 = require("./utils/paths");
45
+ const firebase_admin_1 = require("firebase-admin");
45
46
  const lib_1 = require("emberflow-admin-client/lib");
46
47
  const db_structure_1 = require("./db-structure");
47
48
  const forms_1 = require("./utils/forms");
@@ -54,6 +55,7 @@ const scheduler_1 = require("firebase-functions/v2/scheduler");
54
55
  const firestore_1 = require("firebase-functions/v2/firestore");
55
56
  const https_1 = require("firebase-functions/v2/https");
56
57
  const functions_1 = require("./utils/functions");
58
+ var FieldValue = firebase_admin_1.firestore.FieldValue;
57
59
  exports.functionsConfig = {};
58
60
  exports.SUBMIT_FORM_TOPIC_NAME = "submit-form-queue";
59
61
  exports.VIEW_LOGICS_TOPIC_NAME = "view-logics-queue";
@@ -107,6 +109,10 @@ function initializeEmberFlow(customProjectConfig, adminInstance, customDbStructu
107
109
  };
108
110
  return [srcToDestLogicConfig, dstToSrcLogicConfig];
109
111
  }).flat();
112
+ const logicNames = exports.logicConfigs.map((config) => config.name);
113
+ const viewLogicNames = exports.viewLogicConfigs.map((config) => config.name);
114
+ const allLogicNames = [...logicNames, ...viewLogicNames];
115
+ allLogicNames.forEach(index_utils_1.createMetricLogicDoc);
110
116
  exports.functionsConfig["onFormSubmit"] = (0, database_1.onValueCreated)({
111
117
  ref: "forms/{userId}/{formId}",
112
118
  region: exports.projectConfig.region,
@@ -292,59 +298,216 @@ async function onFormSubmit(event) {
292
298
  console.info("Running Business Logics");
293
299
  let errorMessage = "";
294
300
  const runStatus = await (0, index_utils_1.runBusinessLogics)(actionRef, action, async (actionRef, logicResults, page) => {
295
- // Save all logic results under logicResults collection of action form
296
- for (let i = 0; i < logicResults.length; i++) {
297
- const _a = logicResults[i], { documents } = _a, logicResult = __rest(_a, ["documents"]);
298
- const logicResultsRef = actionRef.collection("logicResults")
299
- .doc(`${actionRef.id}-${page}-${i}`);
300
- await logicResultsRef.set(logicResult);
301
- const documentsRef = logicResultsRef.collection("documents");
302
- for (let j = 0; j < documents.length; j++) {
303
- await documentsRef.doc(`${logicResultsRef.id}-${j}`).set(documents[j]);
301
+ async function saveLogicResults() {
302
+ for (let i = 0; i < logicResults.length; i++) {
303
+ const _a = logicResults[i], { documents } = _a, logicResult = __rest(_a, ["documents"]);
304
+ const logicResultsRef = actionRef.collection("logicResults")
305
+ .doc(`${actionRef.id}-${page}-${i}`);
306
+ await logicResultsRef.set(logicResult);
307
+ const documentsRef = logicResultsRef.collection("documents");
308
+ for (let j = 0; j < documents.length; j++) {
309
+ await documentsRef.doc(`${logicResultsRef.id}-${j}`).set(documents[j]);
310
+ }
304
311
  }
305
312
  }
306
- const errorLogicResults = logicResults.filter((result) => result.status === "error");
307
- if (errorLogicResults.length > 0) {
308
- errorMessage = errorMessage + errorLogicResults.map((result) => result.message).join("\n");
313
+ await saveLogicResults();
314
+ function updateErrorMessage() {
315
+ const errorLogicResults = logicResults.filter((result) => result.status === "error");
316
+ if (errorLogicResults.length > 0) {
317
+ errorMessage = errorMessage + errorLogicResults.map((result) => result.message).join("\n");
318
+ }
309
319
  }
310
- console.info("Group logic docs by priority");
311
- const { highPriorityDocs, normalPriorityDocs, lowPriorityDocs } = logicResults
312
- .map((result) => result.documents)
313
- .flat()
314
- .reduce((acc, doc) => {
315
- if (doc.priority === "high") {
316
- acc.highPriorityDocs.push(doc);
320
+ updateErrorMessage();
321
+ async function writeJournalEntriesFirst() {
322
+ // Gather all logicResultDoc with journalEntries
323
+ const logicResultDocsWithJournalEntries = logicResults
324
+ .map((result) => result.documents).flat()
325
+ .filter((logicResultDoc) => logicResultDoc.journalEntries);
326
+ if (logicResultDocsWithJournalEntries.length === 0) {
327
+ console.info("No journal entries to write");
328
+ return;
329
+ }
330
+ const dstPathLogicDocsWithJournalEntriesMap = await (0, index_utils_1.expandConsolidateAndGroupByDstPath)(logicResultDocsWithJournalEntries);
331
+ for (const [dstPath, logicDocs] of dstPathLogicDocsWithJournalEntriesMap) {
332
+ const docId = dstPath.split("/").pop();
333
+ if (!docId) {
334
+ console.error("Dst path has no docId");
335
+ continue;
336
+ }
337
+ for (const logicDoc of logicDocs) {
338
+ const { doc, instructions, journalEntries, } = logicDoc;
339
+ if (!journalEntries) {
340
+ continue;
341
+ }
342
+ const accounts = new Set(journalEntries.map((entry) => entry.ledgerEntries).flat()
343
+ .map((entry) => entry.account));
344
+ if (Object.keys(doc || {}).some((key) => accounts.has(key))) {
345
+ console.error("Doc cannot have keys that are the same as account names");
346
+ continue;
347
+ }
348
+ if (Object.keys(instructions || {}).some((key) => accounts.has(key))) {
349
+ console.error("Instructions cannot have keys that are the same as account names");
350
+ continue;
351
+ }
352
+ for (let i = 0; i < journalEntries.length; i++) {
353
+ const { ledgerEntries, recordEntry, equation, } = journalEntries[i];
354
+ const consolidatedPerAccount = ledgerEntries
355
+ .reduce((acc, entry) => {
356
+ const { account } = entry;
357
+ if (acc[account]) {
358
+ acc[account].debit += entry.debit;
359
+ acc[account].credit += entry.credit;
360
+ }
361
+ else {
362
+ acc[account] = {
363
+ debit: entry.debit,
364
+ credit: entry.credit,
365
+ };
366
+ }
367
+ return acc;
368
+ }, {});
369
+ // loop through keys of consolidatedPerAccount
370
+ const totalCreditDebit = Object.entries(consolidatedPerAccount)
371
+ .reduce((acc, [account, { debit, credit }]) => {
372
+ return {
373
+ debit: acc.debit + debit,
374
+ credit: acc.credit + credit,
375
+ };
376
+ }, { debit: 0, credit: 0 });
377
+ if (totalCreditDebit.debit !== totalCreditDebit.credit) {
378
+ console.error("Debit and credit should be equal");
379
+ continue;
380
+ }
381
+ await exports.db.runTransaction(async (transaction) => {
382
+ const docRef = exports.db.doc(dstPath);
383
+ const currData = (await transaction.get(docRef)).data();
384
+ let instructionsDbValues;
385
+ if (instructions) {
386
+ instructionsDbValues = (0, distribution_1.convertInstructionsToDbValues)(instructions);
387
+ }
388
+ if (currData) {
389
+ transaction.update(docRef, Object.assign(Object.assign(Object.assign({}, (doc ? doc : {})), (instructionsDbValues ? instructionsDbValues : {})), { "@forDeletionLater": true }));
390
+ }
391
+ else {
392
+ transaction.set(docRef, Object.assign(Object.assign(Object.assign({}, (doc ? doc : {})), (instructionsDbValues ? instructionsDbValues : {})), { "@forDeletionLater": true }));
393
+ }
394
+ const [leftSide, ..._] = equation.split("=");
395
+ Object.entries(consolidatedPerAccount).forEach(([account, { debit, credit }]) => {
396
+ const increment = leftSide.includes(account) ? debit - credit : credit - debit;
397
+ if (increment === 0) {
398
+ transaction.update(docRef, {
399
+ "@forDeletionLater": FieldValue.delete(),
400
+ });
401
+ return;
402
+ }
403
+ const accountVal = ((currData === null || currData === void 0 ? void 0 : currData[account]) || 0) + increment;
404
+ if (accountVal < 0) {
405
+ throw new Error("Account value cannot be negative");
406
+ }
407
+ transaction.update(docRef, {
408
+ [account]: accountVal,
409
+ "@forDeletionLater": FieldValue.delete(),
410
+ });
411
+ });
412
+ if (recordEntry) {
413
+ for (let j = 0; j < ledgerEntries.length; j++) {
414
+ const { account, debit, credit, description } = ledgerEntries[j];
415
+ const journalEntryId = docId + i;
416
+ const ledgerEntryId = journalEntryId + j;
417
+ const ledgerEntryDoc = Object.assign({ journalEntryId,
418
+ account,
419
+ credit,
420
+ debit }, (description && { description }));
421
+ const entryRef = docRef.collection("@ledgers").doc(ledgerEntryId);
422
+ transaction.set(entryRef, ledgerEntryDoc);
423
+ }
424
+ }
425
+ });
426
+ }
427
+ }
317
428
  }
318
- else if (!doc.priority || doc.priority === "normal") {
319
- acc.normalPriorityDocs.push(doc);
429
+ }
430
+ await writeJournalEntriesFirst();
431
+ async function distributeTransactionalLogicResults() {
432
+ const transactionalResults = logicResults.filter((result) => result.transactional);
433
+ if (transactionalResults.length === 0) {
434
+ console.info("No transactional logic results to distribute");
435
+ return;
320
436
  }
321
- else {
322
- acc.lowPriorityDocs.push(doc);
437
+ // We always distribute transactional results first
438
+ const transactionalDstPathLogicDocsMap = await (0, index_utils_1.expandConsolidateAndGroupByDstPath)(transactionalResults.map((result) => result.documents).flat().filter((doc) => !doc.journalEntries));
439
+ // Write to firestore in one transaction
440
+ await exports.db.runTransaction(async (transaction) => {
441
+ for (const [dstPath, logicDocs] of transactionalDstPathLogicDocsMap) {
442
+ for (const logicDoc of logicDocs) {
443
+ const docRef = exports.db.doc(dstPath);
444
+ const action = logicDoc.action;
445
+ if (action === "create") {
446
+ transaction.set(docRef, logicDoc.doc);
447
+ }
448
+ else if (action === "merge") {
449
+ transaction.update(docRef, logicDoc.doc);
450
+ }
451
+ else if (action === "delete") {
452
+ transaction.delete(docRef);
453
+ }
454
+ if (logicDoc.instructions) {
455
+ const { updateData, removeData } = (0, distribution_1.convertInstructionsToDbValues)(logicDoc.instructions);
456
+ if (Object.keys(updateData).length > 0) {
457
+ transaction.update(docRef, updateData);
458
+ }
459
+ if (Object.keys(removeData).length > 0) {
460
+ transaction.update(docRef, removeData);
461
+ }
462
+ }
463
+ }
464
+ }
465
+ });
466
+ }
467
+ await distributeTransactionalLogicResults();
468
+ async function distributeNonTransactionalLogicResults() {
469
+ const nonTransactionalResults = logicResults.filter((result) => !result.transactional);
470
+ console.info("Group logic docs by priority");
471
+ const { highPriorityDocs, normalPriorityDocs, lowPriorityDocs } = nonTransactionalResults
472
+ .map((result) => result.documents)
473
+ .flat()
474
+ .filter((doc) => !doc.journalEntries)
475
+ .reduce((acc, doc) => {
476
+ if (doc.priority === "high") {
477
+ acc.highPriorityDocs.push(doc);
478
+ }
479
+ else if (!doc.priority || doc.priority === "normal") {
480
+ acc.normalPriorityDocs.push(doc);
481
+ }
482
+ else {
483
+ acc.lowPriorityDocs.push(doc);
484
+ }
485
+ return acc;
486
+ }, {
487
+ highPriorityDocs: [],
488
+ normalPriorityDocs: [],
489
+ lowPriorityDocs: [],
490
+ });
491
+ console.info("Consolidating and Distributing High Priority Logic Results");
492
+ const highPriorityDstPathLogicDocsMap = await (0, index_utils_1.expandConsolidateAndGroupByDstPath)(highPriorityDocs);
493
+ const { docsByDocPath: highPriorityDocsByDocPath, otherDocsByDocPath: highPriorityOtherDocsByDocPath, } = (0, index_utils_1.groupDocsByTargetDocPath)(highPriorityDstPathLogicDocsMap, docPath);
494
+ await (0, index_utils_1.distribute)(highPriorityDocsByDocPath);
495
+ await (0, index_utils_1.distribute)(highPriorityOtherDocsByDocPath);
496
+ if (page === 0) {
497
+ await formRef.update({ "@status": "finished" });
323
498
  }
324
- return acc;
325
- }, {
326
- highPriorityDocs: [],
327
- normalPriorityDocs: [],
328
- lowPriorityDocs: [],
329
- });
330
- console.info("Consolidating and Distributing High Priority Logic Results");
331
- const highPriorityDstPathLogicDocsMap = await (0, index_utils_1.expandConsolidateAndGroupByDstPath)(highPriorityDocs);
332
- const { docsByDocPath: highPriorityDocsByDocPath, otherDocsByDocPath: highPriorityOtherDocsByDocPath, } = (0, index_utils_1.groupDocsByTargetDocPath)(highPriorityDstPathLogicDocsMap, docPath);
333
- await (0, index_utils_1.distribute)(highPriorityDocsByDocPath);
334
- await (0, index_utils_1.distribute)(highPriorityOtherDocsByDocPath);
335
- if (page === 0) {
336
- await formRef.update({ "@status": "finished" });
499
+ console.info("Consolidating and Distributing Normal Priority Logic Results");
500
+ const normalPriorityDstPathLogicDocsMap = await (0, index_utils_1.expandConsolidateAndGroupByDstPath)(normalPriorityDocs);
501
+ const { docsByDocPath: normalPriorityDocsByDocPath, otherDocsByDocPath: normalPriorityOtherDocsByDocPath, } = (0, index_utils_1.groupDocsByTargetDocPath)(normalPriorityDstPathLogicDocsMap, docPath);
502
+ await (0, index_utils_1.distribute)(normalPriorityDocsByDocPath);
503
+ await (0, index_utils_1.distributeLater)(normalPriorityOtherDocsByDocPath);
504
+ console.info("Consolidating and Distributing Low Priority Logic Results");
505
+ const lowPriorityDstPathLogicDocsMap = await (0, index_utils_1.expandConsolidateAndGroupByDstPath)(lowPriorityDocs);
506
+ const { docsByDocPath: lowPriorityDocsByDocPath, otherDocsByDocPath: lowPriorityOtherDocsByDocPath, } = (0, index_utils_1.groupDocsByTargetDocPath)(lowPriorityDstPathLogicDocsMap, docPath);
507
+ await (0, index_utils_1.distributeLater)(lowPriorityDocsByDocPath);
508
+ await (0, index_utils_1.distributeLater)(lowPriorityOtherDocsByDocPath);
337
509
  }
338
- console.info("Consolidating and Distributing Normal Priority Logic Results");
339
- const normalPriorityDstPathLogicDocsMap = await (0, index_utils_1.expandConsolidateAndGroupByDstPath)(normalPriorityDocs);
340
- const { docsByDocPath: normalPriorityDocsByDocPath, otherDocsByDocPath: normalPriorityOtherDocsByDocPath, } = (0, index_utils_1.groupDocsByTargetDocPath)(normalPriorityDstPathLogicDocsMap, docPath);
341
- await (0, index_utils_1.distribute)(normalPriorityDocsByDocPath);
342
- await (0, index_utils_1.distributeLater)(normalPriorityOtherDocsByDocPath);
343
- console.info("Consolidating and Distributing Low Priority Logic Results");
344
- const lowPriorityDstPathLogicDocsMap = await (0, index_utils_1.expandConsolidateAndGroupByDstPath)(lowPriorityDocs);
345
- const { docsByDocPath: lowPriorityDocsByDocPath, otherDocsByDocPath: lowPriorityOtherDocsByDocPath, } = (0, index_utils_1.groupDocsByTargetDocPath)(lowPriorityDstPathLogicDocsMap, docPath);
346
- await (0, index_utils_1.distributeLater)(lowPriorityDocsByDocPath);
347
- await (0, index_utils_1.distributeLater)(lowPriorityOtherDocsByDocPath);
510
+ await distributeNonTransactionalLogicResults();
348
511
  });
349
512
  if (runStatus === "cancel-then-retry") {
350
513
  await formRef.update({ "@status": "cancelled", "@messages": "cancel-then-retry received " +
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,8 @@ const indexutils = __importStar(require("../index-utils"));
39
39
  const misc = __importStar(require("../utils/misc"));
40
40
  const index_utils_1 = require("../index-utils");
41
41
  const viewLogics = __importStar(require("../logics/view-logics"));
42
+ // should mock when using initializeEmberFlow and testing db.doc() calls count
43
+ jest.spyOn(indexUtils, "createMetricLogicDoc").mockResolvedValue();
42
44
  jest.spyOn(console, "log").mockImplementation();
43
45
  jest.spyOn(console, "info").mockImplementation();
44
46
  const projectConfig = {
@@ -1064,6 +1066,7 @@ describe("groupDocsByTargetDocPath", () => {
1064
1066
  describe("expandConsolidateAndGroupByDstPath", () => {
1065
1067
  let dbSpy;
1066
1068
  let consoleWarnSpy;
1069
+ let consoleErrorSpy;
1067
1070
  const games = [
1068
1071
  {
1069
1072
  "@id": "game1Id",
@@ -1098,6 +1101,7 @@ describe("expandConsolidateAndGroupByDstPath", () => {
1098
1101
  });
1099
1102
  // Mock console.warn
1100
1103
  consoleWarnSpy = jest.spyOn(console, "warn").mockImplementation(jest.fn());
1104
+ consoleErrorSpy = jest.spyOn(console, "error").mockImplementation(jest.fn());
1101
1105
  // Clear the mock before each test
1102
1106
  paths_1.expandAndGroupDocPathsByEntity.mockClear();
1103
1107
  // Mock expandAndGroupDocPathsByEntity to return sample grouped paths
@@ -1113,6 +1117,7 @@ describe("expandConsolidateAndGroupByDstPath", () => {
1113
1117
  // Cleanup
1114
1118
  dbSpy.mockRestore();
1115
1119
  consoleWarnSpy.mockRestore();
1120
+ consoleErrorSpy.mockRestore();
1116
1121
  });
1117
1122
  it("should consolidate logic results documents correctly", async () => {
1118
1123
  // Arrange