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.
- package/README.md +4 -4
- package/lib/index-utils.d.ts +12 -10
- package/lib/index-utils.js +92 -25
- package/lib/index-utils.js.map +1 -1
- package/lib/index.d.ts +10 -7
- package/lib/index.js +59 -60
- package/lib/index.js.map +1 -1
- package/lib/init-db-structure.js +24 -32
- package/lib/init-db-structure.js.map +1 -1
- package/lib/logics/patch-logics.d.ts +9 -0
- package/lib/logics/patch-logics.js +126 -0
- package/lib/logics/patch-logics.js.map +1 -0
- package/lib/logics/view-logics.d.ts +1 -1
- package/lib/logics/view-logics.js +6 -5
- package/lib/logics/view-logics.js.map +1 -1
- package/lib/sample-custom/business-logics.js +1 -0
- package/lib/sample-custom/business-logics.js.map +1 -1
- package/lib/sample-custom/patch-logics.d.ts +2 -0
- package/lib/sample-custom/patch-logics.js +57 -0
- package/lib/sample-custom/patch-logics.js.map +1 -0
- package/lib/sample-custom/security.d.ts +1 -1
- package/lib/sample-custom/security.js +18 -7
- package/lib/sample-custom/security.js.map +1 -1
- package/lib/sample-custom/validators.d.ts +1 -2
- package/lib/sample-custom/validators.js +28 -7
- package/lib/sample-custom/validators.js.map +1 -1
- package/lib/tests/index-utils.test.js +312 -70
- package/lib/tests/index-utils.test.js.map +1 -1
- package/lib/tests/index.test.js +109 -55
- package/lib/tests/index.test.js.map +1 -1
- package/lib/tests/init-db-structure.test.js +32 -16
- package/lib/tests/init-db-structure.test.js.map +1 -1
- package/lib/tests/logics/patch-logis.test.d.ts +1 -0
- package/lib/tests/logics/patch-logis.test.js +347 -0
- package/lib/tests/logics/patch-logis.test.js.map +1 -0
- package/lib/tests/logics/view-logics.test.js +18 -5
- package/lib/tests/logics/view-logics.test.js.map +1 -1
- package/lib/tests/utils/db-structure.test.js +23 -25
- package/lib/tests/utils/db-structure.test.js.map +1 -1
- package/lib/tests/utils/distribution.test.js +28 -10
- package/lib/tests/utils/distribution.test.js.map +1 -1
- package/lib/tests/utils/forms.test.js +4 -3
- package/lib/tests/utils/forms.test.js.map +1 -1
- package/lib/tests/utils/misc.test.js +2 -1
- package/lib/tests/utils/misc.test.js.map +1 -1
- package/lib/tests/utils/paths.test.js +1 -1
- package/lib/tests/utils/paths.test.js.map +1 -1
- package/lib/tests/utils/pubsub.test.js +1 -1
- package/lib/tests/utils/pubsub.test.js.map +1 -1
- package/lib/types.d.ts +21 -2
- package/lib/utils/db-structure.d.ts +4 -2
- package/lib/utils/db-structure.js +14 -4
- package/lib/utils/db-structure.js.map +1 -1
- package/lib/utils/distribution.d.ts +1 -1
- package/lib/utils/distribution.js +9 -6
- package/lib/utils/distribution.js.map +1 -1
- package/lib/utils/forms.js +3 -1
- package/lib/utils/forms.js.map +1 -1
- package/lib/utils/misc.d.ts +0 -3
- package/lib/utils/misc.js +1 -48
- package/lib/utils/misc.js.map +1 -1
- package/package.json +2 -2
- package/src/sample-custom/business-logics.ts +1 -0
- package/src/sample-custom/patch-logics.ts +36 -0
- package/src/sample-custom/security.ts +17 -6
- 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.
|
|
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:
|
|
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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"}
|