emberflow 1.4.29 → 1.4.31
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 +58 -59
- 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 +106 -104
- 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 +83 -88
- 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 +1 -1
- 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/misc.d.ts +0 -3
- package/lib/utils/misc.js +1 -48
- package/lib/utils/misc.js.map +1 -1
- package/lib/utils/paths.d.ts +1 -0
- package/lib/utils/paths.js +7 -4
- package/lib/utils/paths.js.map +1 -1
- package/package.json +1 -1
- 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
|
@@ -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",
|
|
@@ -357,57 +361,6 @@ describe("createViewLogicFn", () => {
|
|
|
357
361
|
expect(result.documents).toBeDefined();
|
|
358
362
|
expect(result.documents.length).toEqual(2);
|
|
359
363
|
});
|
|
360
|
-
it("should recreate @views doc when id is incorrect", async () => {
|
|
361
|
-
const deleteMock = jest.fn();
|
|
362
|
-
colGetMock.mockResolvedValue({
|
|
363
|
-
docs: [{
|
|
364
|
-
id: "users+456+friends+1234",
|
|
365
|
-
ref: {
|
|
366
|
-
path: "users/1234/@views/users+456+friends+1234",
|
|
367
|
-
},
|
|
368
|
-
data: () => {
|
|
369
|
-
return {
|
|
370
|
-
"path": "users/456/friends/1234",
|
|
371
|
-
"srcProps": ["name", "avatar"],
|
|
372
|
-
};
|
|
373
|
-
},
|
|
374
|
-
}, {
|
|
375
|
-
id: "1234+friend",
|
|
376
|
-
ref: {
|
|
377
|
-
delete: deleteMock,
|
|
378
|
-
},
|
|
379
|
-
data: () => {
|
|
380
|
-
return {
|
|
381
|
-
"path": "users/789/friends/1234",
|
|
382
|
-
"srcProps": ["name", "avatar"],
|
|
383
|
-
};
|
|
384
|
-
},
|
|
385
|
-
}],
|
|
386
|
-
});
|
|
387
|
-
// Create the logic function using the viewDefinition
|
|
388
|
-
const logicFn = viewLogics.createViewLogicFn(vd1);
|
|
389
|
-
// Call the logic function with the test action
|
|
390
|
-
const result = await logicFn[0](mergeLogicResultDoc);
|
|
391
|
-
expect(colGetMock).toHaveBeenCalledTimes(1);
|
|
392
|
-
expect(docSpy).toHaveBeenCalledWith("users/1234/@views/users+456+friends+1234");
|
|
393
|
-
expect(docUpdateMock).toHaveBeenCalledTimes(1);
|
|
394
|
-
expect(docUpdateMock).toHaveBeenCalledWith({
|
|
395
|
-
"srcProps": [
|
|
396
|
-
"age", "avatar", "name",
|
|
397
|
-
],
|
|
398
|
-
});
|
|
399
|
-
expect(deleteMock).toHaveBeenCalledTimes(1);
|
|
400
|
-
expect(docSpy).toHaveBeenCalledWith("users/1234/@views/users+789+friends+1234");
|
|
401
|
-
expect(docSetMock).toHaveBeenCalledTimes(1);
|
|
402
|
-
expect(docSetMock).toHaveBeenCalledWith({
|
|
403
|
-
"path": "users/789/friends/1234",
|
|
404
|
-
"srcProps": ["age", "avatar", "name"],
|
|
405
|
-
"destEntity": "friend",
|
|
406
|
-
});
|
|
407
|
-
expect(result).toBeDefined();
|
|
408
|
-
expect(result.documents).toBeDefined();
|
|
409
|
-
expect(result.documents.length).toEqual(2);
|
|
410
|
-
});
|
|
411
364
|
it("should create a logic function that processes the given logicResultDoc and view definition", async () => {
|
|
412
365
|
colGetMock.mockResolvedValueOnce({
|
|
413
366
|
docs: [{
|
|
@@ -607,6 +560,7 @@ describe("createViewLogicFn", () => {
|
|
|
607
560
|
name: "createdBy",
|
|
608
561
|
type: "map",
|
|
609
562
|
},
|
|
563
|
+
version: "1.0.0",
|
|
610
564
|
});
|
|
611
565
|
const dstPath = "topics/topic21/prepAreas/prepArea2/menus/prepAreaMenuItem34";
|
|
612
566
|
const logicResultDoc = {
|
|
@@ -631,6 +585,7 @@ describe("createViewLogicFn", () => {
|
|
|
631
585
|
name: "createdBy",
|
|
632
586
|
type: "map",
|
|
633
587
|
},
|
|
588
|
+
version: "1.0.0",
|
|
634
589
|
});
|
|
635
590
|
const dstPath = "topics/topic21/prepAreas/prepArea2/menus/prepAreaMenuItem34#orderItem";
|
|
636
591
|
const logicResultDoc = {
|
|
@@ -655,6 +610,7 @@ describe("createViewLogicFn", () => {
|
|
|
655
610
|
name: "createdBy",
|
|
656
611
|
type: "map",
|
|
657
612
|
},
|
|
613
|
+
version: "1.0.0",
|
|
658
614
|
});
|
|
659
615
|
const dstPath = "topics/topic21/prepAreas/prepArea2/menus/prepAreaMenuItem34#orderItem";
|
|
660
616
|
const logicResultDoc = {
|
|
@@ -859,13 +815,14 @@ describe("createViewLogicFn", () => {
|
|
|
859
815
|
expect(document).toHaveProperty("dstPath", "users/1234/@views/users+789+friends+1234");
|
|
860
816
|
});
|
|
861
817
|
describe("SyncCreate ViewLogic", () => {
|
|
862
|
-
describe("
|
|
818
|
+
describe("dstToSrcLogicFn", () => {
|
|
863
819
|
const dstPath = "topics/topic21/menus/menu1/ingredients/ingredient1";
|
|
864
820
|
const logicFn = viewLogics.createViewLogicFn({
|
|
865
821
|
srcEntity: "recipeIngredient",
|
|
866
822
|
srcProps: ["amount", "ingredient"],
|
|
867
823
|
destEntity: "menuItemIngredient",
|
|
868
824
|
options: { syncCreate: true },
|
|
825
|
+
version: "1.0.0",
|
|
869
826
|
});
|
|
870
827
|
const logicResultDoc = {
|
|
871
828
|
action: "create",
|
|
@@ -886,13 +843,13 @@ describe("createViewLogicFn", () => {
|
|
|
886
843
|
expect(result.name).toBe("menuItemIngredient Dst-to-Src");
|
|
887
844
|
expect(result.status).toBe("finished");
|
|
888
845
|
expect(result.timeFinished).toBe(undefined);
|
|
889
|
-
expect(result.documents.length).toBe(2);
|
|
890
846
|
});
|
|
891
847
|
it("should create @syncCreateView in global collection", async () => {
|
|
892
848
|
jest.spyOn(paths_1._mockable, "doesPathExists").mockResolvedValue(false);
|
|
893
849
|
const result = await logicFn[1](logicResultDoc);
|
|
894
850
|
expect(result.documents[1].dstPath).toBe("@syncCreateViews/topics+topic21+menus+menu1+ingredients");
|
|
895
851
|
expect(result.documents[1].doc).toEqual({
|
|
852
|
+
"destEntity": "menuItemIngredient",
|
|
896
853
|
"dstPath": "topics/topic21/menus/menu1/ingredients",
|
|
897
854
|
"srcPath": "topics/topic22/ingredients",
|
|
898
855
|
});
|
|
@@ -916,53 +873,87 @@ describe("createViewLogicFn", () => {
|
|
|
916
873
|
expect(result.documents[0].dstPath).not.toBe("@syncCreateViews/topics+topic21+menus+menu1+ingredients");
|
|
917
874
|
});
|
|
918
875
|
});
|
|
919
|
-
describe("
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
876
|
+
describe("srcToDstLogicFn", () => {
|
|
877
|
+
const logicFn = viewLogics.createViewLogicFn({
|
|
878
|
+
srcEntity: "recipeIngredient",
|
|
879
|
+
srcProps: ["amount", "ingredient"],
|
|
880
|
+
destEntity: "menuItemIngredient",
|
|
881
|
+
options: { syncCreate: true },
|
|
882
|
+
version: "1.0.0",
|
|
883
|
+
});
|
|
884
|
+
const dstPath = "topics/topic22/ingredients/ingredient1";
|
|
885
|
+
const logicResultDoc = {
|
|
886
|
+
action: "create",
|
|
887
|
+
dstPath,
|
|
888
|
+
doc: {
|
|
889
|
+
"@id": "ingredientId",
|
|
890
|
+
"amount": 2,
|
|
891
|
+
"ingredient": "ingredientName",
|
|
892
|
+
"topicId": "topic22",
|
|
893
|
+
},
|
|
894
|
+
};
|
|
895
|
+
const srcCollection = "topics/topic22/ingredients";
|
|
896
|
+
const dstPath1 = "topics/topic21/menus/menu1/ingredients";
|
|
897
|
+
const dstPath2 = "topics/topic21/preparationAreas/prepArea1/menus/menu1#ingredients";
|
|
898
|
+
beforeEach(() => {
|
|
938
899
|
colGetMock.mockResolvedValue({
|
|
939
900
|
docs: [{
|
|
940
901
|
id: "topics+topic21+menus+menu1+ingredients",
|
|
941
902
|
data: () => {
|
|
942
903
|
return {
|
|
943
|
-
"
|
|
944
|
-
"
|
|
904
|
+
"destEntity": "menuItemIngredient",
|
|
905
|
+
"dstPath": dstPath1,
|
|
906
|
+
"srcPath": srcCollection,
|
|
945
907
|
};
|
|
946
908
|
},
|
|
947
909
|
}, {
|
|
948
910
|
id: "topics+topic21+preparationAreas+menu1+ingredients",
|
|
949
911
|
data: () => {
|
|
950
912
|
return {
|
|
951
|
-
"
|
|
952
|
-
"
|
|
913
|
+
"destEntity": "preparationAreaIngredient",
|
|
914
|
+
"dstPath": dstPath2,
|
|
915
|
+
"srcPath": srcCollection,
|
|
953
916
|
};
|
|
954
917
|
},
|
|
955
918
|
}],
|
|
956
919
|
});
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
920
|
+
});
|
|
921
|
+
const doesPathExistsMock = jest.fn()
|
|
922
|
+
.mockResolvedValueOnce(true);
|
|
923
|
+
paths_1._mockable.doesPathExists = doesPathExistsMock;
|
|
924
|
+
it("should auto create source document if there is a matching path in @syncCreateViews", async () => {
|
|
960
925
|
const result = await logicFn[0](logicResultDoc);
|
|
961
|
-
expect(result.documents.length).toBe(
|
|
962
|
-
|
|
926
|
+
expect(result.documents.length).toBe(5);
|
|
927
|
+
console.log(result.documents);
|
|
928
|
+
expect(result.documents[0].dstPath).toBe(`${dstPath1}/ingredient1`);
|
|
963
929
|
expect(result.documents[0].doc).toBe(logicResultDoc.doc);
|
|
964
|
-
expect(result.documents[
|
|
965
|
-
expect(result.documents[
|
|
930
|
+
expect(result.documents[2].dstPath).toBe(`${dstPath2}[ingredient1]`);
|
|
931
|
+
expect(result.documents[2].doc).toBe(logicResultDoc.doc);
|
|
932
|
+
});
|
|
933
|
+
it("should manually create @view document for each newly created views", async () => {
|
|
934
|
+
const result = await logicFn[0](logicResultDoc);
|
|
935
|
+
const atViewsCollectionPath = `${srcCollection}/ingredient1/@views`;
|
|
936
|
+
expect(result.documents[1].dstPath).toBe(`${atViewsCollectionPath}/topics+topic21+menus+menu1+ingredients+ingredient1`);
|
|
937
|
+
expect(result.documents[1].doc).toEqual({
|
|
938
|
+
"destEntity": "menuItemIngredient",
|
|
939
|
+
"path": `${dstPath1}/ingredient1`,
|
|
940
|
+
"srcProps": ["amount", "ingredient"],
|
|
941
|
+
});
|
|
942
|
+
expect(result.documents[3].dstPath).toBe(`${atViewsCollectionPath}/topics+topic21+preparationAreas+prepArea1+menus+menu1+ingredients[ingredient1]`);
|
|
943
|
+
expect(result.documents[3].doc).toEqual({
|
|
944
|
+
"destEntity": "menuItemIngredient",
|
|
945
|
+
"destProp": "ingredients",
|
|
946
|
+
"path": `${dstPath2}[ingredient1]`,
|
|
947
|
+
"srcProps": ["amount", "ingredient"],
|
|
948
|
+
});
|
|
949
|
+
});
|
|
950
|
+
it("should add the docId in the @{field} if there is a destProp", async () => {
|
|
951
|
+
const result = await logicFn[0](logicResultDoc);
|
|
952
|
+
expect(result.documents[4].dstPath).toBe("topics/topic21/preparationAreas/prepArea1/menus/menu1");
|
|
953
|
+
expect(result.documents[4].instructions).toEqual({
|
|
954
|
+
"@ingredients": "arr+(ingredient1)",
|
|
955
|
+
});
|
|
956
|
+
expect(result.documents[4].skipRunViewLogics).toBe(true);
|
|
966
957
|
});
|
|
967
958
|
});
|
|
968
959
|
});
|
|
@@ -976,6 +967,7 @@ describe("queueRunViewLogics", () => {
|
|
|
976
967
|
return "message-id";
|
|
977
968
|
});
|
|
978
969
|
});
|
|
970
|
+
const targetVersion = "1.0.0";
|
|
979
971
|
it("should queue docs to run view logics", async () => {
|
|
980
972
|
const doc1 = {
|
|
981
973
|
action: "merge",
|
|
@@ -983,8 +975,8 @@ describe("queueRunViewLogics", () => {
|
|
|
983
975
|
doc: { name: "test-doc-name-merge" },
|
|
984
976
|
dstPath: "users/test-user-id/documents/doc1",
|
|
985
977
|
};
|
|
986
|
-
await viewLogics.queueRunViewLogics(doc1);
|
|
987
|
-
expect(publishMessageSpy).toHaveBeenCalledWith({ json: doc1 });
|
|
978
|
+
await viewLogics.queueRunViewLogics(targetVersion, doc1);
|
|
979
|
+
expect(publishMessageSpy).toHaveBeenCalledWith({ json: { "doc": doc1, "targetVersion": targetVersion } });
|
|
988
980
|
});
|
|
989
981
|
});
|
|
990
982
|
describe("onMessageViewLogicsQueue", () => {
|
|
@@ -1058,7 +1050,10 @@ describe("onMessageViewLogicsQueue", () => {
|
|
|
1058
1050
|
const event = {
|
|
1059
1051
|
data: {
|
|
1060
1052
|
message: {
|
|
1061
|
-
json:
|
|
1053
|
+
json: {
|
|
1054
|
+
doc: doc1,
|
|
1055
|
+
targetVersion: "1.0.0",
|
|
1056
|
+
},
|
|
1062
1057
|
},
|
|
1063
1058
|
},
|
|
1064
1059
|
};
|
|
@@ -1084,7 +1079,7 @@ describe("onMessageViewLogicsQueue", () => {
|
|
|
1084
1079
|
};
|
|
1085
1080
|
const viewLogicsResultDocs = viewLogicsResult.map((logicResult) => logicResult.documents).flat();
|
|
1086
1081
|
const result = await viewLogics.onMessageViewLogicsQueue(event);
|
|
1087
|
-
expect(runViewLogicsSpy).toHaveBeenCalledWith(doc1);
|
|
1082
|
+
expect(runViewLogicsSpy).toHaveBeenCalledWith(doc1, "1.0.0");
|
|
1088
1083
|
expect(createMetricExecutionSpy).toHaveBeenCalledWith([...viewLogicsResult, distributeFnLogicResult]);
|
|
1089
1084
|
expect(expandConsolidateAndGroupByDstPathSpy).toHaveBeenCalledWith(viewLogicsResultDocs);
|
|
1090
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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"}
|
|
@@ -2,37 +2,35 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const db_structure_1 = require("../../utils/db-structure");
|
|
4
4
|
describe("view", () => {
|
|
5
|
-
it("
|
|
6
|
-
const result = (0, db_structure_1.view)("
|
|
7
|
-
expect(result).toBe("View:
|
|
5
|
+
it("uses default version when not provided", () => {
|
|
6
|
+
const result = (0, db_structure_1.view)("User", ["id", "name"], { syncCreate: true });
|
|
7
|
+
expect(result).toBe("View:User@0.0.0:id,name:syncCreate=true");
|
|
8
8
|
});
|
|
9
|
-
it("
|
|
10
|
-
const result = (0, db_structure_1.view)("
|
|
11
|
-
expect(result).toBe("View:
|
|
9
|
+
it("uses provided version", () => {
|
|
10
|
+
const result = (0, db_structure_1.view)("Order", ["id"], { syncCreate: false }, "1.2.3");
|
|
11
|
+
expect(result).toBe("View:Order@1.2.3:id:syncCreate=false");
|
|
12
12
|
});
|
|
13
|
-
it("should
|
|
14
|
-
const result = (0, db_structure_1.view)("
|
|
15
|
-
expect(result).toBe("View:
|
|
13
|
+
it("should handle multiple options", () => {
|
|
14
|
+
const result = (0, db_structure_1.view)("Order", ["id"], { syncCreate: true, type: "view-array" }, "1.2.3");
|
|
15
|
+
expect(result).toBe("View:Order@1.2.3:id:syncCreate=true,type=view-array");
|
|
16
16
|
});
|
|
17
|
-
it("should
|
|
18
|
-
const result = (0, db_structure_1.view)("
|
|
19
|
-
|
|
20
|
-
filter: "popular",
|
|
21
|
-
});
|
|
22
|
-
// order of keys is preserved in Object.entries
|
|
23
|
-
expect(result).toBe("View:category:name:visible=true,filter=popular");
|
|
17
|
+
it("should handle no options", () => {
|
|
18
|
+
const result = (0, db_structure_1.view)("Product", ["sku", "price"], undefined, "1.0.0");
|
|
19
|
+
expect(result).toBe("View:Product@1.0.0:sku,price:");
|
|
24
20
|
});
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
});
|
|
22
|
+
describe("propView", () => {
|
|
23
|
+
it("returns ViewMap when type is map", () => {
|
|
24
|
+
const result = (0, db_structure_1.propView)("map", "Inventory", ["count"], { syncCreate: true });
|
|
25
|
+
expect(result).toBe("ViewMap@0.0.0:Inventory:count:syncCreate=true");
|
|
28
26
|
});
|
|
29
|
-
it("
|
|
30
|
-
const result = (0, db_structure_1.
|
|
31
|
-
expect(result).toBe("
|
|
27
|
+
it("returns ViewArrayMap when type is array-map", () => {
|
|
28
|
+
const result = (0, db_structure_1.propView)("array-map", "Inventory", ["count"], { syncCreate: true }, "2.0.0");
|
|
29
|
+
expect(result).toBe("ViewArrayMap@2.0.0:Inventory:count:syncCreate=true");
|
|
32
30
|
});
|
|
33
|
-
it("
|
|
34
|
-
const result = (0, db_structure_1.
|
|
35
|
-
expect(result).toBe("
|
|
31
|
+
it("handles empty options", () => {
|
|
32
|
+
const result = (0, db_structure_1.propView)("map", "Inventory", ["count"]);
|
|
33
|
+
expect(result).toBe("ViewMap@0.0.0:Inventory:count:");
|
|
36
34
|
});
|
|
37
35
|
});
|
|
38
36
|
//# sourceMappingURL=db-structure.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-structure.test.js","sourceRoot":"","sources":["../../../src/tests/utils/db-structure.test.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"db-structure.test.js","sourceRoot":"","sources":["../../../src/tests/utils/db-structure.test.ts"],"names":[],"mappings":";;AAAA,2DAAwD;AAExD,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,MAAM,GAAG,IAAA,mBAAI,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,MAAM,GAAG,IAAA,mBAAI,EAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAC,UAAU,EAAE,KAAK,EAAC,EAAE,OAAO,CAAC,CAAC;QACnE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,IAAA,mBAAI,EAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAC,EAAE,OAAO,CAAC,CAAC;QACtF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,MAAM,GAAG,IAAA,mBAAI,EAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,CAAE,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,MAAM,GAAG,IAAA,uBAAQ,EAAC,KAAK,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;QAC3E,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,MAAM,GAAG,IAAA,uBAAQ,EAAC,WAAW,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,EAAE,OAAO,CAAC,CAAC;QAC1F,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,MAAM,GAAG,IAAA,uBAAQ,EAAC,KAAK,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|