emberflow 1.4.47 → 1.4.48
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/lib/index.js +17 -11
- package/lib/index.js.map +1 -1
- package/lib/logics/patch-logics.js +22 -7
- package/lib/logics/patch-logics.js.map +1 -1
- package/lib/logics/view-logics.d.ts +2 -2
- package/lib/logics/view-logics.js +22 -7
- package/lib/logics/view-logics.js.map +1 -1
- package/lib/tests/index-utils.test.js +1 -1
- package/lib/tests/index-utils.test.js.map +1 -1
- package/lib/tests/index.test.js +1 -1
- package/lib/tests/index.test.js.map +1 -1
- package/lib/tests/logics/patch-logis.test.js +125 -133
- package/lib/tests/logics/patch-logis.test.js.map +1 -1
- package/lib/tests/logics/view-logics.test.js +152 -29
- package/lib/tests/logics/view-logics.test.js.map +1 -1
- package/lib/tests/utils/distribution.test.js +1 -1
- package/lib/tests/utils/distribution.test.js.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/utils/distribution.js +1 -1
- package/lib/utils/distribution.js.map +1 -1
- package/package.json +1 -1
|
@@ -138,107 +138,75 @@ describe("versionCompare", () => {
|
|
|
138
138
|
});
|
|
139
139
|
});
|
|
140
140
|
describe("runPatchLogics", () => {
|
|
141
|
+
const dstPath = "users/userId";
|
|
141
142
|
let queueRunViewLogicsSpy;
|
|
142
143
|
let runTransactionSpy;
|
|
143
144
|
let createMetricExecutionSpy;
|
|
144
145
|
let distributeFnTransactionalSpy;
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
146
|
+
// declare globally for test file scope
|
|
147
|
+
let userLogicFn2Result;
|
|
148
|
+
let additionalUserLogicFn2Result;
|
|
149
|
+
let userLogicFn2p5Result;
|
|
150
|
+
let userLogicFn1;
|
|
151
|
+
let userLogicFn2;
|
|
152
|
+
let additionalUserLogicFn2;
|
|
153
|
+
let userLogicFn2p5;
|
|
154
|
+
let userLogicFn2p7;
|
|
155
|
+
let topicLogicFn1;
|
|
156
|
+
let userLogicFn3;
|
|
157
|
+
let patchLogicConfigs;
|
|
158
|
+
beforeEach(() => {
|
|
159
|
+
// Recreate result objects — so tests never share references
|
|
160
|
+
userLogicFn2Result = {
|
|
161
|
+
name: "userLogicFn2",
|
|
162
|
+
status: "finished",
|
|
163
|
+
documents: [{
|
|
164
|
+
action: "create",
|
|
165
|
+
doc: { firstName: "John", lastName: "Doe" },
|
|
166
|
+
dstPath: "users/userId/friends/friendId",
|
|
167
|
+
}],
|
|
168
|
+
};
|
|
169
|
+
additionalUserLogicFn2Result = {
|
|
170
|
+
name: "additionalUserLogicFn2",
|
|
171
|
+
status: "finished",
|
|
172
|
+
documents: [{
|
|
173
|
+
action: "create",
|
|
174
|
+
doc: { firstName: "Maria", lastName: "Doe" },
|
|
175
|
+
dstPath: "users/userId/friends/friendId2",
|
|
176
|
+
}],
|
|
177
|
+
};
|
|
178
|
+
userLogicFn2p5Result = {
|
|
179
|
+
name: "userLogicFn2p5",
|
|
180
|
+
status: "finished",
|
|
181
|
+
documents: [{
|
|
182
|
+
action: "merge",
|
|
183
|
+
doc: { token: "New title" },
|
|
184
|
+
dstPath: "users/userId/todos/todoId#title",
|
|
185
|
+
}],
|
|
186
|
+
};
|
|
187
|
+
// Recreate mocks
|
|
188
|
+
userLogicFn1 = jest.fn().mockResolvedValue({ status: "finished", documents: [] });
|
|
189
|
+
userLogicFn2 = jest.fn().mockResolvedValue(userLogicFn2Result);
|
|
190
|
+
additionalUserLogicFn2 = jest.fn().mockResolvedValue(additionalUserLogicFn2Result);
|
|
191
|
+
userLogicFn2p5 = jest.fn().mockResolvedValue(userLogicFn2p5Result);
|
|
192
|
+
userLogicFn2p7 = jest.fn().mockResolvedValue({ status: "finished", documents: [] });
|
|
193
|
+
topicLogicFn1 = jest.fn().mockResolvedValue({ status: "finished", documents: [] });
|
|
194
|
+
userLogicFn3 = jest.fn().mockResolvedValue({ status: "finished", documents: [] });
|
|
195
|
+
patchLogicConfigs = [
|
|
196
|
+
{ name: "User Patch Version 1", entity: "user", patchLogicFn: userLogicFn1, version: "1.0.0" },
|
|
197
|
+
{ name: "User Patch Version 2", entity: "user", patchLogicFn: userLogicFn2, version: "2.0.0" },
|
|
198
|
+
{ name: "Additional User Patch Version 2", entity: "user", patchLogicFn: additionalUserLogicFn2, version: "2.0.0" },
|
|
199
|
+
{ name: "User Patch Version 2.5", entity: "user", patchLogicFn: userLogicFn2p5, addtlFilterFn: (d) => d["@prod"], version: "2.5.0" },
|
|
200
|
+
{ name: "User Patch Version 2.7", entity: "user", patchLogicFn: userLogicFn2p7, addtlFilterFn: (d) => !d["@prod"], version: "2.7.0" },
|
|
201
|
+
{ name: "Topic Patch Version 1", entity: "topic", patchLogicFn: topicLogicFn1, version: "1.0.0" },
|
|
202
|
+
{ name: "User Patch Version 3", entity: "user", patchLogicFn: userLogicFn3, version: "3.0.0" },
|
|
203
|
+
];
|
|
191
204
|
});
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
205
|
+
test("example test using global result", async () => {
|
|
206
|
+
var _a, _b;
|
|
207
|
+
await userLogicFn2(); // runs mock
|
|
208
|
+
expect((_b = (_a = userLogicFn2Result === null || userLogicFn2Result === void 0 ? void 0 : userLogicFn2Result.documents) === null || _a === void 0 ? void 0 : _a[0].doc) === null || _b === void 0 ? void 0 : _b.firstName).toBe("John");
|
|
195
209
|
});
|
|
196
|
-
const patchLogicConfigs = [
|
|
197
|
-
{
|
|
198
|
-
name: "User Patch Version 1",
|
|
199
|
-
entity: "user",
|
|
200
|
-
patchLogicFn: userLogicFn1,
|
|
201
|
-
version: "1.0.0",
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
name: "User Patch Version 2",
|
|
205
|
-
entity: "user",
|
|
206
|
-
patchLogicFn: userLogicFn2,
|
|
207
|
-
version: "2.0.0",
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
name: "Additional User Patch Version 2",
|
|
211
|
-
entity: "user",
|
|
212
|
-
patchLogicFn: additionalUserLogicFn2,
|
|
213
|
-
version: "2.0.0",
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
name: "User Patch Version 2.5",
|
|
217
|
-
entity: "user",
|
|
218
|
-
patchLogicFn: userLogicFn2p5,
|
|
219
|
-
addtlFilterFn: (data) => data["@prod"],
|
|
220
|
-
version: "2.5.0",
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
name: "User Patch Version 2.7",
|
|
224
|
-
entity: "user",
|
|
225
|
-
patchLogicFn: userLogicFn2p7,
|
|
226
|
-
addtlFilterFn: (data) => !data["@prod"],
|
|
227
|
-
version: "2.7.0",
|
|
228
|
-
},
|
|
229
|
-
{
|
|
230
|
-
name: "Topic Patch Version 1",
|
|
231
|
-
entity: "topic",
|
|
232
|
-
patchLogicFn: topicLogicFn1,
|
|
233
|
-
version: "1.0.0",
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
name: "User Patch Version 3",
|
|
237
|
-
entity: "user",
|
|
238
|
-
patchLogicFn: userLogicFn3,
|
|
239
|
-
version: "3.0.0",
|
|
240
|
-
},
|
|
241
|
-
];
|
|
242
210
|
const dataVersion = "1.0.0";
|
|
243
211
|
const appVersion = "2.9.0";
|
|
244
212
|
const txnResult1 = {
|
|
@@ -260,6 +228,7 @@ describe("runPatchLogics", () => {
|
|
|
260
228
|
}),
|
|
261
229
|
};
|
|
262
230
|
beforeEach(() => {
|
|
231
|
+
jest.clearAllMocks();
|
|
263
232
|
jest.spyOn(indexUtils, "createMetricLogicDoc").mockResolvedValue();
|
|
264
233
|
jest.spyOn(admin.firestore(), "doc").mockReturnValue({
|
|
265
234
|
get: jest.fn().mockResolvedValue({
|
|
@@ -281,37 +250,43 @@ describe("runPatchLogics", () => {
|
|
|
281
250
|
.mockImplementationOnce(async (callback) => callback(txnResult2));
|
|
282
251
|
distributeFnTransactionalSpy = jest.spyOn(indexUtils, "distributeFnTransactional")
|
|
283
252
|
.mockResolvedValueOnce([
|
|
253
|
+
Object.assign(Object.assign({}, userLogicFn2Result.documents[0]), { doc: Object.assign(Object.assign({}, userLogicFn2Result.documents[0].doc), { dataVersion: "2.0.0" }) }),
|
|
254
|
+
Object.assign(Object.assign({}, userLogicFn2p5Result.documents[0]), { doc: Object.assign(Object.assign({}, userLogicFn2p5Result.documents[0].doc), { dataVersion: "2.0.0" }) }),
|
|
284
255
|
{
|
|
285
|
-
action: "merge",
|
|
286
|
-
|
|
287
|
-
doc: {
|
|
288
|
-
"firstName": "John",
|
|
289
|
-
"lastName": "Doe",
|
|
290
|
-
"@dataVersion": "2.0.0",
|
|
291
|
-
},
|
|
256
|
+
action: "merge", dstPath,
|
|
257
|
+
doc: { dataVersion: "2.0.0" },
|
|
292
258
|
},
|
|
293
259
|
]).mockResolvedValueOnce([
|
|
294
260
|
{
|
|
295
|
-
action: "merge",
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
261
|
+
"action": "merge",
|
|
262
|
+
"doc": { token: "New title", dataVersion: "2.5.0" },
|
|
263
|
+
"dstPath": "users/userId/todos/todoId#title",
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"action": "merge",
|
|
267
|
+
"doc": { dataVersion: "2.5.0" },
|
|
268
|
+
"dstPath": "users/userId/todos/todoId",
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
action: "merge", dstPath,
|
|
272
|
+
doc: { dataVersion: "2.5.0" },
|
|
301
273
|
},
|
|
302
274
|
]);
|
|
303
275
|
});
|
|
304
276
|
afterEach(() => {
|
|
305
277
|
jest.restoreAllMocks();
|
|
306
278
|
});
|
|
279
|
+
const dataVersionLogicResultDoc = {
|
|
280
|
+
action: "merge",
|
|
281
|
+
doc: { "@dataVersion": "2.0.0" },
|
|
282
|
+
dstPath,
|
|
283
|
+
};
|
|
307
284
|
it("should appropriately group the matched logics by version then run transactions for each group", async () => {
|
|
308
|
-
const dstPath = "users/userId";
|
|
309
285
|
(0, index_1.initializeEmberFlow)(projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, security_1.securityConfigs, validators_1.validatorConfigs, [], patchLogicConfigs);
|
|
310
286
|
await patchLogics.runPatchLogics(appVersion, dstPath);
|
|
311
287
|
expect(runTransactionSpy).toHaveBeenCalledTimes(2); // for version 2.0.0 and 2.5.0
|
|
312
288
|
});
|
|
313
289
|
it("should run all patch logics between dataVersion and appVersion", async () => {
|
|
314
|
-
const dstPath = "users/userId";
|
|
315
290
|
(0, index_1.initializeEmberFlow)(projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, security_1.securityConfigs, validators_1.validatorConfigs, [], patchLogicConfigs);
|
|
316
291
|
await patchLogics.runPatchLogics(appVersion, dstPath);
|
|
317
292
|
expect(userLogicFn1).not.toHaveBeenCalled(); // below data version
|
|
@@ -323,63 +298,80 @@ describe("runPatchLogics", () => {
|
|
|
323
298
|
expect(userLogicFn3).not.toHaveBeenCalled(); // ahead the app version
|
|
324
299
|
});
|
|
325
300
|
it("should distribute all consolidated logic result docs", async () => {
|
|
326
|
-
const dstPath = "users/userId";
|
|
327
301
|
(0, index_1.initializeEmberFlow)(projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, security_1.securityConfigs, validators_1.validatorConfigs, [], patchLogicConfigs);
|
|
328
302
|
await patchLogics.runPatchLogics(appVersion, dstPath);
|
|
329
303
|
expect(distributeFnTransactionalSpy).toHaveBeenCalledTimes(2);
|
|
330
304
|
expect(distributeFnTransactionalSpy).toHaveBeenNthCalledWith(1, txnResult1, [
|
|
331
|
-
Object.assign(Object.assign({}, userLogicFn2Result), { documents: [Object.assign(Object.assign({}, userLogicFn2Result.documents[0]), { "doc": Object.assign(Object.assign({}, userLogicFn2Result.documents[0].doc), { "@dataVersion": "2.0.0" }) })], transactional: true, execTime: expect.any(Number) }),
|
|
305
|
+
Object.assign(Object.assign({}, userLogicFn2Result), { documents: [Object.assign(Object.assign({}, userLogicFn2Result.documents[0]), { "doc": Object.assign(Object.assign({}, userLogicFn2Result.documents[0].doc), { "@dataVersion": "2.0.0" }) }), dataVersionLogicResultDoc], transactional: true, execTime: expect.any(Number) }),
|
|
332
306
|
Object.assign(Object.assign({}, additionalUserLogicFn2Result), { documents: [
|
|
333
307
|
Object.assign(Object.assign({}, additionalUserLogicFn2Result.documents[0]), { "doc": Object.assign(Object.assign({}, additionalUserLogicFn2Result.documents[0].doc), { "@dataVersion": "2.0.0" }) }),
|
|
308
|
+
dataVersionLogicResultDoc,
|
|
334
309
|
], transactional: true, execTime: expect.any(Number) }),
|
|
335
310
|
]);
|
|
336
311
|
expect(distributeFnTransactionalSpy).toHaveBeenNthCalledWith(2, txnResult2, [
|
|
337
|
-
Object.assign(Object.assign({}, userLogicFn2p5Result), { documents: [Object.assign(Object.assign({}, userLogicFn2p5Result.documents[0]), { "doc": Object.assign(
|
|
312
|
+
Object.assign(Object.assign({}, userLogicFn2p5Result), { documents: [Object.assign(Object.assign({}, userLogicFn2p5Result.documents[0]), { "doc": Object.assign({}, userLogicFn2p5Result.documents[0].doc) }), {
|
|
313
|
+
"action": "merge",
|
|
314
|
+
"doc": { "@dataVersion": "2.5.0" },
|
|
315
|
+
"dstPath": "users/userId/todos/todoId",
|
|
316
|
+
}, {
|
|
317
|
+
"action": "merge", dstPath,
|
|
318
|
+
"doc": { "@dataVersion": "2.5.0" },
|
|
319
|
+
}], execTime: expect.any(Number), transactional: true }),
|
|
338
320
|
]);
|
|
339
321
|
expect(queueRunViewLogicsSpy).toHaveBeenCalledTimes(2);
|
|
340
322
|
});
|
|
341
323
|
it("should run createMetricExecution per group patch", async () => {
|
|
342
|
-
const dstPath = "users/userId";
|
|
343
324
|
(0, index_1.initializeEmberFlow)(projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, security_1.securityConfigs, validators_1.validatorConfigs, [], patchLogicConfigs);
|
|
344
325
|
await patchLogics.runPatchLogics(appVersion, dstPath);
|
|
345
326
|
expect(createMetricExecutionSpy).toHaveBeenCalledTimes(2);
|
|
346
327
|
// version 2.0.0
|
|
347
328
|
expect(createMetricExecutionSpy).toHaveBeenNthCalledWith(1, [{
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
329
|
+
"name": "userLogicFn2",
|
|
330
|
+
"execTime": expect.any(Number),
|
|
331
|
+
"status": "finished",
|
|
332
|
+
"timeFinished": expect.any(Timestamp),
|
|
333
|
+
"documents": [Object.assign(Object.assign({}, userLogicFn2Result.documents[0]), { "doc": Object.assign(Object.assign({}, userLogicFn2Result.documents[0].doc), { "@dataVersion": "2.0.0" }) }), dataVersionLogicResultDoc],
|
|
334
|
+
"transactional": true,
|
|
353
335
|
},
|
|
354
336
|
{
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
337
|
+
"name": "additionalUserLogicFn2",
|
|
338
|
+
"execTime": expect.any(Number),
|
|
339
|
+
"status": "finished",
|
|
340
|
+
"timeFinished": expect.any(Timestamp),
|
|
341
|
+
"documents": [
|
|
342
|
+
Object.assign(Object.assign({}, additionalUserLogicFn2Result.documents[0]), { "doc": Object.assign(Object.assign({}, additionalUserLogicFn2Result.documents[0].doc), { "@dataVersion": "2.0.0" }) }),
|
|
343
|
+
dataVersionLogicResultDoc,
|
|
344
|
+
],
|
|
345
|
+
"transactional": true,
|
|
360
346
|
},
|
|
361
347
|
{
|
|
362
348
|
execTime: expect.any(Number),
|
|
363
349
|
status: "finished",
|
|
364
350
|
name: "runPatchLogics",
|
|
365
351
|
documents: [],
|
|
366
|
-
},
|
|
367
|
-
]);
|
|
352
|
+
},]);
|
|
368
353
|
// version 2.5.0
|
|
369
354
|
expect(createMetricExecutionSpy).toHaveBeenNthCalledWith(2, [{
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
355
|
+
"name": "userLogicFn2p5",
|
|
356
|
+
"execTime": expect.any(Number),
|
|
357
|
+
"status": "finished",
|
|
358
|
+
"timeFinished": expect.any(Timestamp),
|
|
359
|
+
"documents": [Object.assign(Object.assign({}, userLogicFn2p5Result.documents[0]), { "doc": Object.assign({}, userLogicFn2p5Result.documents[0].doc) }), {
|
|
360
|
+
"action": "merge",
|
|
361
|
+
"doc": { "@dataVersion": "2.5.0" },
|
|
362
|
+
"dstPath": "users/userId/todos/todoId",
|
|
363
|
+
}, {
|
|
364
|
+
"action": "merge", dstPath,
|
|
365
|
+
"doc": { "@dataVersion": "2.5.0" },
|
|
366
|
+
}],
|
|
367
|
+
"transactional": true,
|
|
375
368
|
},
|
|
376
369
|
{
|
|
377
370
|
execTime: expect.any(Number),
|
|
378
371
|
status: "finished",
|
|
379
372
|
name: "runPatchLogics",
|
|
380
373
|
documents: [],
|
|
381
|
-
},
|
|
382
|
-
]);
|
|
374
|
+
},]);
|
|
383
375
|
});
|
|
384
376
|
});
|
|
385
377
|
describe("onMessageRunPatchLogicsQueue", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch-logis.test.js","sourceRoot":"","sources":["../../../src/tests/logics/patch-logis.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"patch-logis.test.js","sourceRoot":"","sources":["../../../src/tests/logics/patch-logis.test.ts"],"names":[],"mappings":"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"}
|