emberflow 1.4.30 → 1.4.32

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.
Files changed (66) hide show
  1. package/README.md +4 -4
  2. package/lib/index-utils.d.ts +12 -10
  3. package/lib/index-utils.js +92 -25
  4. package/lib/index-utils.js.map +1 -1
  5. package/lib/index.d.ts +10 -7
  6. package/lib/index.js +59 -60
  7. package/lib/index.js.map +1 -1
  8. package/lib/init-db-structure.js +24 -32
  9. package/lib/init-db-structure.js.map +1 -1
  10. package/lib/logics/patch-logics.d.ts +9 -0
  11. package/lib/logics/patch-logics.js +126 -0
  12. package/lib/logics/patch-logics.js.map +1 -0
  13. package/lib/logics/view-logics.d.ts +1 -1
  14. package/lib/logics/view-logics.js +6 -5
  15. package/lib/logics/view-logics.js.map +1 -1
  16. package/lib/sample-custom/business-logics.js +1 -0
  17. package/lib/sample-custom/business-logics.js.map +1 -1
  18. package/lib/sample-custom/patch-logics.d.ts +2 -0
  19. package/lib/sample-custom/patch-logics.js +57 -0
  20. package/lib/sample-custom/patch-logics.js.map +1 -0
  21. package/lib/sample-custom/security.d.ts +1 -1
  22. package/lib/sample-custom/security.js +18 -7
  23. package/lib/sample-custom/security.js.map +1 -1
  24. package/lib/sample-custom/validators.d.ts +1 -2
  25. package/lib/sample-custom/validators.js +28 -7
  26. package/lib/sample-custom/validators.js.map +1 -1
  27. package/lib/tests/index-utils.test.js +312 -70
  28. package/lib/tests/index-utils.test.js.map +1 -1
  29. package/lib/tests/index.test.js +109 -55
  30. package/lib/tests/index.test.js.map +1 -1
  31. package/lib/tests/init-db-structure.test.js +32 -16
  32. package/lib/tests/init-db-structure.test.js.map +1 -1
  33. package/lib/tests/logics/patch-logis.test.d.ts +1 -0
  34. package/lib/tests/logics/patch-logis.test.js +347 -0
  35. package/lib/tests/logics/patch-logis.test.js.map +1 -0
  36. package/lib/tests/logics/view-logics.test.js +18 -5
  37. package/lib/tests/logics/view-logics.test.js.map +1 -1
  38. package/lib/tests/utils/db-structure.test.js +23 -25
  39. package/lib/tests/utils/db-structure.test.js.map +1 -1
  40. package/lib/tests/utils/distribution.test.js +28 -10
  41. package/lib/tests/utils/distribution.test.js.map +1 -1
  42. package/lib/tests/utils/forms.test.js +4 -3
  43. package/lib/tests/utils/forms.test.js.map +1 -1
  44. package/lib/tests/utils/misc.test.js +2 -1
  45. package/lib/tests/utils/misc.test.js.map +1 -1
  46. package/lib/tests/utils/paths.test.js +1 -1
  47. package/lib/tests/utils/paths.test.js.map +1 -1
  48. package/lib/tests/utils/pubsub.test.js +1 -1
  49. package/lib/tests/utils/pubsub.test.js.map +1 -1
  50. package/lib/types.d.ts +21 -2
  51. package/lib/utils/db-structure.d.ts +4 -2
  52. package/lib/utils/db-structure.js +14 -4
  53. package/lib/utils/db-structure.js.map +1 -1
  54. package/lib/utils/distribution.d.ts +1 -1
  55. package/lib/utils/distribution.js +9 -6
  56. package/lib/utils/distribution.js.map +1 -1
  57. package/lib/utils/forms.js +3 -1
  58. package/lib/utils/forms.js.map +1 -1
  59. package/lib/utils/misc.d.ts +0 -3
  60. package/lib/utils/misc.js +1 -48
  61. package/lib/utils/misc.js.map +1 -1
  62. package/package.json +2 -2
  63. package/src/sample-custom/business-logics.ts +1 -0
  64. package/src/sample-custom/patch-logics.ts +36 -0
  65. package/src/sample-custom/security.ts +17 -6
  66. package/src/sample-custom/validators.ts +27 -6
@@ -0,0 +1,347 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const patch_logics_1 = require("../../logics/patch-logics");
27
+ const firebase_admin_1 = require("firebase-admin");
28
+ const paths = __importStar(require("../../utils/paths"));
29
+ const admin = __importStar(require("firebase-admin"));
30
+ const index_1 = require("../../index");
31
+ const db_structure_1 = require("../../sample-custom/db-structure");
32
+ const security_1 = require("../../sample-custom/security");
33
+ const validators_1 = require("../../sample-custom/validators");
34
+ var Timestamp = firebase_admin_1.firestore.Timestamp;
35
+ const viewLogics = __importStar(require("../../logics/view-logics"));
36
+ const patchLogics = __importStar(require("../../logics/patch-logics"));
37
+ const indexUtils = __importStar(require("../../index-utils"));
38
+ const pubsub_1 = require("../../utils/pubsub");
39
+ const projectConfig = {
40
+ projectId: "your-project-id",
41
+ region: "asia-southeast1",
42
+ rtdbName: "your-rtdb-name",
43
+ budgetAlertTopicName: "budget-alerts",
44
+ maxCostLimitPerFunction: 100,
45
+ specialCostLimitPerFunction: {
46
+ function1: 50,
47
+ function2: 75,
48
+ function3: 120,
49
+ },
50
+ };
51
+ admin.initializeApp({
52
+ databaseURL: "https://test-project.firebaseio.com",
53
+ });
54
+ (0, index_1.initializeEmberFlow)(projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, security_1.securityConfigs, validators_1.validatorConfigs, [], []);
55
+ describe("queueRunPatchLogics", () => {
56
+ const messageId = "test-message-id";
57
+ let publishMessageSpy;
58
+ beforeEach(() => {
59
+ jest.restoreAllMocks();
60
+ publishMessageSpy = jest.spyOn(index_1.PATCH_LOGICS_TOPIC, "publishMessage")
61
+ .mockResolvedValue(messageId);
62
+ });
63
+ it("should queue docs to run patch logics", async () => {
64
+ const appVersion = "3.0.0";
65
+ const dstPath = "users/userId";
66
+ await (0, patch_logics_1.queueRunPatchLogics)(appVersion, dstPath);
67
+ expect(publishMessageSpy).toHaveBeenCalledWith({ json: { appVersion, dstPath } });
68
+ });
69
+ it("should be able to queue multiple dstPaths", async () => {
70
+ const appVersion = "3.0.0";
71
+ const dstPathList = [
72
+ "users/userId",
73
+ "users/userId2",
74
+ "users/userId3",
75
+ ];
76
+ await (0, patch_logics_1.queueRunPatchLogics)(appVersion, ...dstPathList);
77
+ expect(publishMessageSpy).toHaveBeenNthCalledWith(1, { json: { appVersion, dstPath: dstPathList[0] } });
78
+ expect(publishMessageSpy).toHaveBeenNthCalledWith(2, { json: { appVersion, dstPath: dstPathList[1] } });
79
+ expect(publishMessageSpy).toHaveBeenNthCalledWith(3, { json: { appVersion, dstPath: dstPathList[2] } });
80
+ });
81
+ });
82
+ describe("versionCompare", () => {
83
+ it("returns 0 when versions are identical", () => {
84
+ expect((0, patch_logics_1.versionCompare)("1.2.3", "1.2.3")).toBe(0);
85
+ expect((0, patch_logics_1.versionCompare)("1", "1")).toBe(0);
86
+ });
87
+ it("returns a negative number when first is lower", () => {
88
+ expect((0, patch_logics_1.versionCompare)("1.2.3", "1.2.4")).toBeLessThan(0);
89
+ expect((0, patch_logics_1.versionCompare)("1.2", "1.2.1")).toBeLessThan(0);
90
+ expect((0, patch_logics_1.versionCompare)("1", "1.0.1")).toBeLessThan(0);
91
+ });
92
+ it("returns a positive number when first is higher", () => {
93
+ expect((0, patch_logics_1.versionCompare)("1.2.5", "1.2.4")).toBeGreaterThan(0);
94
+ expect((0, patch_logics_1.versionCompare)("2.0", "1.9.9")).toBeGreaterThan(0);
95
+ expect((0, patch_logics_1.versionCompare)("1.0.1", "1")).toBeGreaterThan(0);
96
+ });
97
+ it("handles leading zeros correctly", () => {
98
+ expect((0, patch_logics_1.versionCompare)("01.02.03", "1.2.3")).toBe(0);
99
+ expect((0, patch_logics_1.versionCompare)("01.10", "1.2")).toBeGreaterThan(0);
100
+ });
101
+ it("handles different segment lengths gracefully", () => {
102
+ expect((0, patch_logics_1.versionCompare)("1.2", "1.2.0.0")).toBe(0);
103
+ expect((0, patch_logics_1.versionCompare)("1.2.0.1", "1.2")).toBeGreaterThan(0);
104
+ });
105
+ it("treats non-numeric segments as 0", () => {
106
+ // Because parseInt of non-numeric yields NaN, then || 0 → 0
107
+ expect((0, patch_logics_1.versionCompare)("1.a.3", "1.0.3")).toBe(0);
108
+ expect((0, patch_logics_1.versionCompare)("1.a.4", "1.0.3")).toBeGreaterThan(0);
109
+ expect((0, patch_logics_1.versionCompare)("1.a.4", "1.0.3")).toBeGreaterThan(0);
110
+ expect((0, patch_logics_1.versionCompare)("1.a.4", "1.0.3")).toBeGreaterThan(0);
111
+ });
112
+ });
113
+ describe("runPatchLogics", () => {
114
+ const logicFn1 = jest.fn().mockResolvedValue({
115
+ status: "finished",
116
+ documents: [],
117
+ });
118
+ const logicFn2 = jest.fn().mockResolvedValue({
119
+ status: "finished",
120
+ documents: [],
121
+ });
122
+ const logicFn2Point5 = jest.fn().mockResolvedValue({
123
+ status: "finished",
124
+ documents: [],
125
+ });
126
+ const logicFn3 = jest.fn().mockResolvedValue({
127
+ status: "finished",
128
+ documents: [],
129
+ });
130
+ const patchLogics = [
131
+ {
132
+ name: "Patch Version 1",
133
+ entity: "user",
134
+ patchLogicFn: logicFn1,
135
+ version: "1.0.0",
136
+ },
137
+ {
138
+ name: "Patch Version 2",
139
+ entity: "user",
140
+ patchLogicFn: logicFn2,
141
+ version: "2.0.0",
142
+ },
143
+ {
144
+ name: "Patch Version 2.5",
145
+ entity: "user",
146
+ patchLogicFn: logicFn2Point5,
147
+ version: "2.5.0",
148
+ },
149
+ {
150
+ name: "Patch Version 3",
151
+ entity: "user",
152
+ patchLogicFn: logicFn3,
153
+ version: "3.0.0",
154
+ },
155
+ ];
156
+ const dataVersion = "1.0.0";
157
+ const appVersion = "2.9.0";
158
+ const txn = {
159
+ get: jest.fn().mockResolvedValue({
160
+ data: jest.fn().mockReturnValue({
161
+ "userId": "userId",
162
+ "@dataVersion": dataVersion,
163
+ }),
164
+ }),
165
+ };
166
+ jest.spyOn(paths, "findMatchingDocPathRegex").mockReturnValue({
167
+ entity: "user",
168
+ regex: /users/,
169
+ });
170
+ it("should run the patch logics between dataVersion and appVersion then " +
171
+ "update the version of the data", async () => {
172
+ const dstPath = "users/userId";
173
+ (0, index_1.initializeEmberFlow)(projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, security_1.securityConfigs, validators_1.validatorConfigs, [], patchLogics);
174
+ const result = await (0, patch_logics_1.runPatchLogics)(appVersion, dstPath, txn);
175
+ // should run the appropriate logics
176
+ expect(logicFn1).not.toHaveBeenCalled();
177
+ expect(logicFn2).toHaveBeenCalled();
178
+ expect(logicFn2Point5).toHaveBeenCalled();
179
+ expect(logicFn3).not.toHaveBeenCalled();
180
+ // should run the logics in the correct order
181
+ expect(logicFn2.mock.invocationCallOrder[0])
182
+ .toBeLessThan(logicFn2Point5.mock.invocationCallOrder[0]);
183
+ // should update the data version
184
+ expect(result).toEqual([
185
+ {
186
+ status: "finished",
187
+ documents: [
188
+ {
189
+ "action": "merge",
190
+ "doc": {
191
+ "@dataVersion": "2.0.0",
192
+ },
193
+ "dstPath": "users/userId",
194
+ },
195
+ ],
196
+ execTime: expect.any(Number),
197
+ timeFinished: expect.any(Timestamp),
198
+ },
199
+ {
200
+ status: "finished",
201
+ documents: [
202
+ {
203
+ "action": "merge",
204
+ "doc": {
205
+ "@dataVersion": "2.5.0",
206
+ },
207
+ "dstPath": "users/userId",
208
+ },
209
+ ],
210
+ execTime: expect.any(Number),
211
+ timeFinished: expect.any(Timestamp),
212
+ },
213
+ ]);
214
+ });
215
+ });
216
+ describe("onMessageRunPatchLogicsQueue", () => {
217
+ let isProcessedSpy;
218
+ let trackProcessedIdsSpy;
219
+ let queueRunViewLogicsSpy;
220
+ let runPatchLogicsSpy;
221
+ let runTransactionSpy;
222
+ let expandConsolidateAndGroupByDstPathSpy;
223
+ let distributeDocSpy;
224
+ const dstPath = "users/userId";
225
+ const patchLogicResult1 = {
226
+ name: "logic1",
227
+ status: "finished",
228
+ documents: [
229
+ {
230
+ action: "merge",
231
+ doc: { "@dataVersion": "2.0.0" },
232
+ dstPath,
233
+ },
234
+ {
235
+ action: "create",
236
+ doc: {
237
+ "@id": "userId",
238
+ "firstName": "Maria",
239
+ "lastName": "Doe",
240
+ },
241
+ dstPath: "users/userId/collaborators/collaboratorId",
242
+ },
243
+ ],
244
+ };
245
+ const patchLogicResult2 = {
246
+ name: "logic2",
247
+ status: "finished",
248
+ documents: [
249
+ {
250
+ action: "merge",
251
+ doc: {
252
+ firstName: "john",
253
+ lastName: "doe",
254
+ },
255
+ instructions: {
256
+ fullName: "del",
257
+ },
258
+ dstPath,
259
+ },
260
+ {
261
+ action: "merge",
262
+ doc: { "@dataVersion": "2.5.0" },
263
+ dstPath,
264
+ },
265
+ ],
266
+ };
267
+ const patchLogicResults = [patchLogicResult1, patchLogicResult2];
268
+ const txnGet = jest.fn();
269
+ const fakeTxn = {
270
+ get: txnGet,
271
+ };
272
+ const expandConsolidateResult = new Map([
273
+ ["users/doc1", [
274
+ {
275
+ action: "merge",
276
+ priority: "normal",
277
+ dstPath: "users/doc1",
278
+ doc: {
279
+ firstName: "john",
280
+ lastName: "doe",
281
+ },
282
+ instructions: { field2: "--", field4: "--" },
283
+ }
284
+ ],
285
+ ],
286
+ ["users/userId/collaborators/collaboratorId", [
287
+ {
288
+ action: "create",
289
+ doc: {
290
+ "@id": "userId",
291
+ "firstName": "Maria",
292
+ "lastName": "Doe",
293
+ },
294
+ dstPath: "users/userId/collaborators/collaboratorId",
295
+ }
296
+ ]],
297
+ ]);
298
+ const targetVersion = "2.9.0";
299
+ const event = {
300
+ data: {
301
+ message: {
302
+ json: {
303
+ appVersion: targetVersion,
304
+ dstPath: "users/userId",
305
+ },
306
+ },
307
+ },
308
+ };
309
+ beforeEach(() => {
310
+ isProcessedSpy = jest.spyOn(pubsub_1.pubsubUtils, "isProcessed").mockResolvedValue(false);
311
+ trackProcessedIdsSpy = jest.spyOn(pubsub_1.pubsubUtils, "trackProcessedIds").mockResolvedValue();
312
+ queueRunViewLogicsSpy = jest.spyOn(viewLogics, "queueRunViewLogics").mockResolvedValue();
313
+ runPatchLogicsSpy = jest.spyOn(patchLogics, "runPatchLogics").mockResolvedValue(patchLogicResults);
314
+ runTransactionSpy = jest.spyOn(index_1.db, "runTransaction").mockImplementation(async (callback) => callback(fakeTxn));
315
+ expandConsolidateAndGroupByDstPathSpy = jest.spyOn(indexUtils, "expandConsolidateAndGroupByDstPath")
316
+ .mockResolvedValue(expandConsolidateResult);
317
+ distributeDocSpy = jest.spyOn(indexUtils, "distributeDoc").mockResolvedValue();
318
+ });
319
+ afterEach(() => {
320
+ jest.restoreAllMocks();
321
+ });
322
+ it("should skip duplicate message", async () => {
323
+ isProcessedSpy = jest.spyOn(pubsub_1.pubsubUtils, "isProcessed").mockResolvedValue(true);
324
+ jest.spyOn(console, "log").mockImplementation();
325
+ await patchLogics.onMessageRunPatchLogicsQueue(event);
326
+ expect(isProcessedSpy).toHaveBeenCalledWith(index_1.PATCH_LOGICS_TOPIC_NAME, event.id);
327
+ expect(console.log).toHaveBeenCalledWith("Skipping duplicate message");
328
+ });
329
+ it("should distribute patch logic result docs", async () => {
330
+ var _a, _b;
331
+ jest.spyOn(indexUtils._mockable, "createMetricExecution").mockResolvedValue();
332
+ const result = await (0, patch_logics_1.onMessageRunPatchLogicsQueue)(event);
333
+ expect(isProcessedSpy).toHaveBeenCalledWith(index_1.PATCH_LOGICS_TOPIC_NAME, event.id);
334
+ expect(runTransactionSpy).toHaveBeenCalledTimes(1);
335
+ expect(runPatchLogicsSpy).toHaveBeenCalledWith(targetVersion, dstPath, fakeTxn);
336
+ const flattenedPatchLogicResults = patchLogicResults.flatMap((result) => result.documents);
337
+ expect(expandConsolidateAndGroupByDstPathSpy).toHaveBeenCalledWith(flattenedPatchLogicResults);
338
+ const consolidatedLogicResultDoc1 = (_a = expandConsolidateResult.get("users/doc1")) === null || _a === void 0 ? void 0 : _a[0];
339
+ expect(distributeDocSpy).toHaveBeenNthCalledWith(1, consolidatedLogicResultDoc1, undefined, fakeTxn);
340
+ const consolidatedLogicResultDoc2 = (_b = expandConsolidateResult.get("users/userId/collaborators/collaboratorId")) === null || _b === void 0 ? void 0 : _b[0];
341
+ expect(distributeDocSpy).toHaveBeenNthCalledWith(2, consolidatedLogicResultDoc2, undefined, fakeTxn);
342
+ expect(queueRunViewLogicsSpy).toHaveBeenCalledWith(targetVersion, consolidatedLogicResultDoc1, consolidatedLogicResultDoc2);
343
+ expect(trackProcessedIdsSpy).toHaveBeenCalledWith(index_1.PATCH_LOGICS_TOPIC_NAME, event.id);
344
+ expect(result).toEqual("Processed patch logics");
345
+ });
346
+ });
347
+ //# sourceMappingURL=patch-logis.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch-logis.test.js","sourceRoot":"","sources":["../../../src/tests/logics/patch-logis.test.ts"],"names":[],"mappings":"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"}
@@ -58,11 +58,12 @@ const projectConfig = {
58
58
  admin.initializeApp({
59
59
  databaseURL: "https://test-project.firebaseio.com",
60
60
  });
61
- (0, index_1.initializeEmberFlow)(projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, security_1.securityConfig, validators_1.validatorConfig, []);
61
+ (0, index_1.initializeEmberFlow)(projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, security_1.securityConfigs, validators_1.validatorConfigs, [], []);
62
62
  const vd1 = {
63
63
  srcEntity: "user",
64
64
  srcProps: ["name", "avatar", "age"],
65
65
  destEntity: "friend",
66
+ version: "1.0.0",
66
67
  };
67
68
  const vd2 = {
68
69
  srcEntity: "user",
@@ -72,6 +73,7 @@ const vd2 = {
72
73
  name: "followers",
73
74
  type: "array-map",
74
75
  },
76
+ version: "1.0.0",
75
77
  };
76
78
  const vd3 = {
77
79
  srcEntity: "user",
@@ -81,11 +83,13 @@ const vd3 = {
81
83
  name: "createdBy",
82
84
  type: "map",
83
85
  },
86
+ version: "1.0.0",
84
87
  };
85
88
  const vd4 = {
86
89
  srcEntity: "friend",
87
90
  srcProps: ["name", "avatar", "age"],
88
91
  destEntity: "user",
92
+ version: "1.0.0",
89
93
  };
90
94
  const createLogicResultDoc = {
91
95
  action: "create",
@@ -556,6 +560,7 @@ describe("createViewLogicFn", () => {
556
560
  name: "createdBy",
557
561
  type: "map",
558
562
  },
563
+ version: "1.0.0",
559
564
  });
560
565
  const dstPath = "topics/topic21/prepAreas/prepArea2/menus/prepAreaMenuItem34";
561
566
  const logicResultDoc = {
@@ -580,6 +585,7 @@ describe("createViewLogicFn", () => {
580
585
  name: "createdBy",
581
586
  type: "map",
582
587
  },
588
+ version: "1.0.0",
583
589
  });
584
590
  const dstPath = "topics/topic21/prepAreas/prepArea2/menus/prepAreaMenuItem34#orderItem";
585
591
  const logicResultDoc = {
@@ -604,6 +610,7 @@ describe("createViewLogicFn", () => {
604
610
  name: "createdBy",
605
611
  type: "map",
606
612
  },
613
+ version: "1.0.0",
607
614
  });
608
615
  const dstPath = "topics/topic21/prepAreas/prepArea2/menus/prepAreaMenuItem34#orderItem";
609
616
  const logicResultDoc = {
@@ -815,6 +822,7 @@ describe("createViewLogicFn", () => {
815
822
  srcProps: ["amount", "ingredient"],
816
823
  destEntity: "menuItemIngredient",
817
824
  options: { syncCreate: true },
825
+ version: "1.0.0",
818
826
  });
819
827
  const logicResultDoc = {
820
828
  action: "create",
@@ -871,6 +879,7 @@ describe("createViewLogicFn", () => {
871
879
  srcProps: ["amount", "ingredient"],
872
880
  destEntity: "menuItemIngredient",
873
881
  options: { syncCreate: true },
882
+ version: "1.0.0",
874
883
  });
875
884
  const dstPath = "topics/topic22/ingredients/ingredient1";
876
885
  const logicResultDoc = {
@@ -958,6 +967,7 @@ describe("queueRunViewLogics", () => {
958
967
  return "message-id";
959
968
  });
960
969
  });
970
+ const targetVersion = "1.0.0";
961
971
  it("should queue docs to run view logics", async () => {
962
972
  const doc1 = {
963
973
  action: "merge",
@@ -965,8 +975,8 @@ describe("queueRunViewLogics", () => {
965
975
  doc: { name: "test-doc-name-merge" },
966
976
  dstPath: "users/test-user-id/documents/doc1",
967
977
  };
968
- await viewLogics.queueRunViewLogics(doc1);
969
- expect(publishMessageSpy).toHaveBeenCalledWith({ json: doc1 });
978
+ await viewLogics.queueRunViewLogics(targetVersion, doc1);
979
+ expect(publishMessageSpy).toHaveBeenCalledWith({ json: { "doc": doc1, "targetVersion": targetVersion } });
970
980
  });
971
981
  });
972
982
  describe("onMessageViewLogicsQueue", () => {
@@ -1040,7 +1050,10 @@ describe("onMessageViewLogicsQueue", () => {
1040
1050
  const event = {
1041
1051
  data: {
1042
1052
  message: {
1043
- json: doc1,
1053
+ json: {
1054
+ doc: doc1,
1055
+ targetVersion: "1.0.0",
1056
+ },
1044
1057
  },
1045
1058
  },
1046
1059
  };
@@ -1066,7 +1079,7 @@ describe("onMessageViewLogicsQueue", () => {
1066
1079
  };
1067
1080
  const viewLogicsResultDocs = viewLogicsResult.map((logicResult) => logicResult.documents).flat();
1068
1081
  const result = await viewLogics.onMessageViewLogicsQueue(event);
1069
- expect(runViewLogicsSpy).toHaveBeenCalledWith(doc1);
1082
+ expect(runViewLogicsSpy).toHaveBeenCalledWith(doc1, "1.0.0");
1070
1083
  expect(createMetricExecutionSpy).toHaveBeenCalledWith([...viewLogicsResult, distributeFnLogicResult]);
1071
1084
  expect(expandConsolidateAndGroupByDstPathSpy).toHaveBeenCalledWith(viewLogicsResultDocs);
1072
1085
  expect(distributeSpy).toHaveBeenCalledWith(expandConsolidateResult);
@@ -1 +1 @@
1
- {"version":3,"file":"view-logics.test.js","sourceRoot":"","sources":["../../../src/tests/logics/view-logics.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-logics.test.js","sourceRoot":"","sources":["../../../src/tests/logics/view-logics.test.ts"],"names":[],"mappings":"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"}