@expo/entity 0.34.0 → 0.35.0
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/build/Entity.d.ts +6 -6
- package/build/Entity.js +29 -6
- package/build/Entity.js.map +1 -1
- package/build/EntityAssociationLoader.d.ts +8 -8
- package/build/EntityAssociationLoader.js +20 -4
- package/build/EntityAssociationLoader.js.map +1 -1
- package/build/EntityQueryContextProvider.d.ts +1 -1
- package/build/EntityQueryContextProvider.js +1 -1
- package/build/EntityQueryContextProvider.js.map +1 -1
- package/build/ReadonlyEntity.d.ts +1 -1
- package/build/ReadonlyEntity.js +4 -1
- package/build/ReadonlyEntity.js.map +1 -1
- package/build/ViewerContext.d.ts +2 -2
- package/build/ViewerContext.js +3 -3
- package/build/ViewerContext.js.map +1 -1
- package/build/__tests__/Entity-test.js +13 -13
- package/build/__tests__/Entity-test.js.map +1 -1
- package/build/__tests__/EntityAssociationLoader-test.js +37 -69
- package/build/__tests__/EntityAssociationLoader-test.js.map +1 -1
- package/build/__tests__/EntityCommonUseCases-test.js +11 -19
- package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
- package/build/__tests__/EntityEdges-test.js +40 -72
- package/build/__tests__/EntityEdges-test.js.map +1 -1
- package/build/__tests__/EntityLoader-constructor-test.js +1 -1
- package/build/__tests__/EntityLoader-constructor-test.js.map +1 -1
- package/build/__tests__/EntityLoader-test.js +19 -19
- package/build/__tests__/EntityLoader-test.js.map +1 -1
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +6 -6
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -1
- package/build/__tests__/EntityMutator-test.js +20 -20
- package/build/__tests__/EntityMutator-test.js.map +1 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.js +10 -10
- package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
- package/build/__tests__/EntitySelfReferentialEdges-test.js +47 -79
- package/build/__tests__/EntitySelfReferentialEdges-test.js.map +1 -1
- package/build/__tests__/ReadonlyEntity-test.js +13 -13
- package/build/__tests__/ReadonlyEntity-test.js.map +1 -1
- package/build/__tests__/ViewerContext-test.js +2 -2
- package/build/__tests__/ViewerContext-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +8 -12
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +13 -15
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -1
- package/build/internal/EntityDataManager.js +1 -1
- package/build/internal/EntityDataManager.js.map +1 -1
- package/build/internal/__tests__/EntityDataManager-test.js +11 -11
- package/build/internal/__tests__/EntityDataManager-test.js.map +1 -1
- package/build/testfixtures/SimpleTestEntity.d.ts +8 -8
- package/build/testfixtures/SimpleTestEntity.js.map +1 -1
- package/build/testfixtures/TestEntity.d.ts +12 -12
- package/build/testfixtures/TestEntity.js.map +1 -1
- package/build/testfixtures/TestEntity2.d.ts +8 -8
- package/build/testfixtures/TestEntity2.js.map +1 -1
- package/build/testfixtures/TestViewerContext.d.ts +0 -3
- package/build/testfixtures/TestViewerContext.js +0 -6
- package/build/testfixtures/TestViewerContext.js.map +1 -1
- package/package.json +2 -2
- package/src/Entity.ts +29 -6
- package/src/EntityAssociationLoader.ts +25 -9
- package/src/EntityQueryContextProvider.ts +1 -1
- package/src/ReadonlyEntity.ts +4 -1
- package/src/ViewerContext.ts +5 -5
- package/src/__tests__/Entity-test.ts +27 -43
- package/src/__tests__/EntityAssociationLoader-test.ts +86 -168
- package/src/__tests__/EntityCommonUseCases-test.ts +18 -36
- package/src/__tests__/EntityEdges-test.ts +40 -102
- package/src/__tests__/EntityLoader-constructor-test.ts +1 -1
- package/src/__tests__/EntityLoader-test.ts +19 -19
- package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +16 -19
- package/src/__tests__/EntityMutator-test.ts +61 -67
- package/src/__tests__/EntitySecondaryCacheLoader-test.ts +11 -20
- package/src/__tests__/EntitySelfReferentialEdges-test.ts +47 -115
- package/src/__tests__/ReadonlyEntity-test.ts +13 -15
- package/src/__tests__/ViewerContext-test.ts +2 -3
- package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +22 -33
- package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +22 -30
- package/src/internal/EntityDataManager.ts +1 -1
- package/src/internal/__tests__/EntityDataManager-test.ts +11 -11
- package/src/testfixtures/SimpleTestEntity.ts +8 -8
- package/src/testfixtures/TestEntity.ts +12 -15
- package/src/testfixtures/TestEntity2.ts +8 -8
- package/src/testfixtures/TestViewerContext.ts +1 -12
|
@@ -16,17 +16,13 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
16
16
|
it('loads associated entities by ID and correctly handles a null value', async () => {
|
|
17
17
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
18
18
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
19
|
-
const testOtherEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext
|
|
20
|
-
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext
|
|
19
|
+
const testOtherEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
20
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext)
|
|
21
21
|
.setField('stringField', testOtherEntity.getID())
|
|
22
22
|
.createAsync());
|
|
23
|
-
const loadedOther = await (0, results_1.enforceAsyncResult)(testEntity
|
|
24
|
-
.associationLoader()
|
|
25
|
-
.loadAssociatedEntityAsync('stringField', TestEntity_1.default, viewerContext.getQueryContext()));
|
|
23
|
+
const loadedOther = await (0, results_1.enforceAsyncResult)(testEntity.associationLoader().loadAssociatedEntityAsync('stringField', TestEntity_1.default));
|
|
26
24
|
expect(loadedOther.getID()).toEqual(testOtherEntity.getID());
|
|
27
|
-
const loadedOther2 = await (0, results_1.enforceAsyncResult)(testEntity
|
|
28
|
-
.associationLoader()
|
|
29
|
-
.loadAssociatedEntityAsync('nullableField', TestEntity_1.default, viewerContext.getQueryContext()));
|
|
25
|
+
const loadedOther2 = await (0, results_1.enforceAsyncResult)(testEntity.associationLoader().loadAssociatedEntityAsync('nullableField', TestEntity_1.default));
|
|
30
26
|
expect(loadedOther2).toBeNull();
|
|
31
27
|
});
|
|
32
28
|
});
|
|
@@ -34,16 +30,10 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
34
30
|
it('loads many associated entities referencing this entity', async () => {
|
|
35
31
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
36
32
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
37
|
-
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext
|
|
38
|
-
const testOtherEntity1 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const testOtherEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
|
|
42
|
-
.setField('stringField', testEntity.getID())
|
|
43
|
-
.createAsync());
|
|
44
|
-
const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity
|
|
45
|
-
.associationLoader()
|
|
46
|
-
.loadManyAssociatedEntitiesAsync(TestEntity_1.default, 'stringField', viewerContext.getQueryContext()));
|
|
33
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
34
|
+
const testOtherEntity1 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
|
|
35
|
+
const testOtherEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
|
|
36
|
+
const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity.associationLoader().loadManyAssociatedEntitiesAsync(TestEntity_1.default, 'stringField'));
|
|
47
37
|
expect(loaded).toHaveLength(2);
|
|
48
38
|
expect(loaded.find((e) => e.getID() === testOtherEntity1.getID())).not.toBeUndefined();
|
|
49
39
|
expect(loaded.find((e) => e.getID() === testOtherEntity2.getID())).not.toBeUndefined();
|
|
@@ -53,35 +43,31 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
53
43
|
it('loads associated entity by field equaling', async () => {
|
|
54
44
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
55
45
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
56
|
-
const testOtherEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext
|
|
57
|
-
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext
|
|
46
|
+
const testOtherEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
47
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext)
|
|
58
48
|
.setField('stringField', testOtherEntity.getID())
|
|
59
49
|
.createAsync());
|
|
60
50
|
const loadedOtherResult = await testEntity
|
|
61
51
|
.associationLoader()
|
|
62
|
-
.loadAssociatedEntityByFieldEqualingAsync('stringField', TestEntity_1.default, 'customIdField'
|
|
52
|
+
.loadAssociatedEntityByFieldEqualingAsync('stringField', TestEntity_1.default, 'customIdField');
|
|
63
53
|
expect(loadedOtherResult?.enforceValue().getID()).toEqual(testOtherEntity.getID());
|
|
64
54
|
});
|
|
65
55
|
it('returns null when loading associated entities by field equaling a non existent association', async () => {
|
|
66
56
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
67
57
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
68
|
-
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext,
|
|
69
|
-
.setField('stringField', (0, uuid_1.v4)())
|
|
70
|
-
.createAsync());
|
|
58
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', (0, uuid_1.v4)()).createAsync());
|
|
71
59
|
const loadedOtherResult = await testEntity
|
|
72
60
|
.associationLoader()
|
|
73
|
-
.loadAssociatedEntityByFieldEqualingAsync('stringField', TestEntity_1.default, 'customIdField'
|
|
61
|
+
.loadAssociatedEntityByFieldEqualingAsync('stringField', TestEntity_1.default, 'customIdField');
|
|
74
62
|
expect(loadedOtherResult).toBeNull();
|
|
75
63
|
});
|
|
76
64
|
it('returns null when load-by field is null', async () => {
|
|
77
65
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
78
66
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
79
|
-
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext,
|
|
80
|
-
.setField('stringField', 'blah')
|
|
81
|
-
.createAsync());
|
|
67
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', 'blah').createAsync());
|
|
82
68
|
const loadedOtherResult = await testEntity
|
|
83
69
|
.associationLoader()
|
|
84
|
-
.loadAssociatedEntityByFieldEqualingAsync('nullableField', TestEntity_1.default, 'customIdField'
|
|
70
|
+
.loadAssociatedEntityByFieldEqualingAsync('nullableField', TestEntity_1.default, 'customIdField');
|
|
85
71
|
expect(loadedOtherResult).toBeNull();
|
|
86
72
|
});
|
|
87
73
|
});
|
|
@@ -89,16 +75,12 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
89
75
|
it('loads many associated entities by field equaling', async () => {
|
|
90
76
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
91
77
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
92
|
-
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext
|
|
93
|
-
const testOtherEntity1 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext,
|
|
94
|
-
|
|
95
|
-
.createAsync());
|
|
96
|
-
const testOtherEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
|
|
97
|
-
.setField('stringField', testEntity.getID())
|
|
98
|
-
.createAsync());
|
|
78
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
79
|
+
const testOtherEntity1 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
|
|
80
|
+
const testOtherEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
|
|
99
81
|
const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity
|
|
100
82
|
.associationLoader()
|
|
101
|
-
.loadManyAssociatedEntitiesByFieldEqualingAsync('customIdField', TestEntity_1.default, 'stringField'
|
|
83
|
+
.loadManyAssociatedEntitiesByFieldEqualingAsync('customIdField', TestEntity_1.default, 'stringField'));
|
|
102
84
|
expect(loaded).toHaveLength(2);
|
|
103
85
|
expect(loaded.find((e) => e.getID() === testOtherEntity1.getID())).not.toBeUndefined();
|
|
104
86
|
expect(loaded.find((e) => e.getID() === testOtherEntity2.getID())).not.toBeUndefined();
|
|
@@ -106,10 +88,10 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
106
88
|
it('returns empty results when field being queried by is null', async () => {
|
|
107
89
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
108
90
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
109
|
-
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext
|
|
91
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
110
92
|
const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity
|
|
111
93
|
.associationLoader()
|
|
112
|
-
.loadManyAssociatedEntitiesByFieldEqualingAsync('nullableField', TestEntity_1.default, 'stringField'
|
|
94
|
+
.loadManyAssociatedEntitiesByFieldEqualingAsync('nullableField', TestEntity_1.default, 'stringField'));
|
|
113
95
|
expect(loaded).toHaveLength(0);
|
|
114
96
|
});
|
|
115
97
|
});
|
|
@@ -117,22 +99,18 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
117
99
|
it('chain loads associated entities', async () => {
|
|
118
100
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
119
101
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
120
|
-
const testEntity4 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext
|
|
121
|
-
const testEntity3 = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext,
|
|
122
|
-
|
|
123
|
-
.createAsync());
|
|
124
|
-
const testEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
|
|
102
|
+
const testEntity4 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
103
|
+
const testEntity3 = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', testEntity4.getID()).createAsync());
|
|
104
|
+
const testEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext)
|
|
125
105
|
.setField('testIndexedField', testEntity3.getID())
|
|
126
106
|
.createAsync());
|
|
127
|
-
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext,
|
|
128
|
-
.setField('foreignKey', testEntity2.getID())
|
|
129
|
-
.createAsync());
|
|
107
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', testEntity2.getID()).createAsync());
|
|
130
108
|
const loaded2Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
131
109
|
{
|
|
132
110
|
associatedEntityClass: TestEntity_1.default,
|
|
133
111
|
fieldIdentifyingAssociatedEntity: 'foreignKey',
|
|
134
112
|
},
|
|
135
|
-
]
|
|
113
|
+
]);
|
|
136
114
|
expect(loaded2Result?.enforceValue().getID()).toEqual(testEntity2.getID());
|
|
137
115
|
const loaded3Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
138
116
|
{
|
|
@@ -143,7 +121,7 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
143
121
|
associatedEntityClass: TestEntity2_1.default,
|
|
144
122
|
fieldIdentifyingAssociatedEntity: 'testIndexedField',
|
|
145
123
|
},
|
|
146
|
-
]
|
|
124
|
+
]);
|
|
147
125
|
expect(loaded3Result?.enforceValue().getID()).toEqual(testEntity3.getID());
|
|
148
126
|
const loaded4Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
149
127
|
{
|
|
@@ -158,69 +136,59 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
158
136
|
associatedEntityClass: TestEntity_1.default,
|
|
159
137
|
fieldIdentifyingAssociatedEntity: 'foreignKey',
|
|
160
138
|
},
|
|
161
|
-
]
|
|
139
|
+
]);
|
|
162
140
|
expect(loaded4Result?.enforceValue().getID()).toEqual(testEntity4.getID());
|
|
163
141
|
});
|
|
164
142
|
it('fails when chain loading associated entity fails', async () => {
|
|
165
143
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
166
144
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
167
|
-
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext,
|
|
168
|
-
.setField('foreignKey', (0, uuid_1.v4)())
|
|
169
|
-
.createAsync());
|
|
145
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', (0, uuid_1.v4)()).createAsync());
|
|
170
146
|
const loadResult = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
171
147
|
{
|
|
172
148
|
associatedEntityClass: TestEntity_1.default,
|
|
173
149
|
fieldIdentifyingAssociatedEntity: 'foreignKey',
|
|
174
150
|
},
|
|
175
|
-
]
|
|
151
|
+
]);
|
|
176
152
|
expect(loadResult?.ok).toBe(false);
|
|
177
153
|
});
|
|
178
154
|
it('supports chain loading by field equality', async () => {
|
|
179
155
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
180
156
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
181
157
|
const fieldValue = (0, uuid_1.v4)();
|
|
182
|
-
const testEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext,
|
|
183
|
-
|
|
184
|
-
.createAsync());
|
|
185
|
-
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext, viewerContext.getQueryContext())
|
|
186
|
-
.setField('foreignKey', fieldValue)
|
|
187
|
-
.createAsync());
|
|
158
|
+
const testEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', fieldValue).createAsync());
|
|
159
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', fieldValue).createAsync());
|
|
188
160
|
const loaded2Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
189
161
|
{
|
|
190
162
|
associatedEntityClass: TestEntity_1.default,
|
|
191
163
|
fieldIdentifyingAssociatedEntity: 'foreignKey',
|
|
192
164
|
associatedEntityLookupByField: 'stringField',
|
|
193
165
|
},
|
|
194
|
-
]
|
|
166
|
+
]);
|
|
195
167
|
expect(loaded2Result?.enforceValue().getID()).toEqual(testEntity2.getID());
|
|
196
168
|
});
|
|
197
169
|
it('returns null when chain loading by field equality returns null', async () => {
|
|
198
170
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
199
171
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
200
|
-
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext,
|
|
201
|
-
.setField('foreignKey', (0, uuid_1.v4)())
|
|
202
|
-
.createAsync());
|
|
172
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', (0, uuid_1.v4)()).createAsync());
|
|
203
173
|
const loaded2Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
204
174
|
{
|
|
205
175
|
associatedEntityClass: TestEntity_1.default,
|
|
206
176
|
fieldIdentifyingAssociatedEntity: 'foreignKey',
|
|
207
177
|
associatedEntityLookupByField: 'stringField',
|
|
208
178
|
},
|
|
209
|
-
]
|
|
179
|
+
]);
|
|
210
180
|
expect(loaded2Result).toBeNull();
|
|
211
181
|
});
|
|
212
182
|
it('returns null when chain loading by field is null', async () => {
|
|
213
183
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
214
184
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
215
|
-
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext,
|
|
216
|
-
.setField('nullableField', null)
|
|
217
|
-
.createAsync());
|
|
185
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('nullableField', null).createAsync());
|
|
218
186
|
const loadedResult = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
219
187
|
{
|
|
220
188
|
associatedEntityClass: TestEntity_1.default,
|
|
221
189
|
fieldIdentifyingAssociatedEntity: 'nullableField',
|
|
222
190
|
},
|
|
223
|
-
]
|
|
191
|
+
]);
|
|
224
192
|
expect(loadedResult).toBeNull();
|
|
225
193
|
});
|
|
226
194
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityAssociationLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityAssociationLoader-test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EntityAssociationLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityAssociationLoader-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,14 +32,14 @@ const Entity_1 = __importDefault(require("../Entity"));
|
|
|
32
32
|
const EntityConfiguration_1 = __importDefault(require("../EntityConfiguration"));
|
|
33
33
|
const EntityFields_1 = require("../EntityFields");
|
|
34
34
|
const EntityPrivacyPolicy_1 = __importDefault(require("../EntityPrivacyPolicy"));
|
|
35
|
+
const ViewerContext_1 = __importDefault(require("../ViewerContext"));
|
|
35
36
|
const entityUtils_1 = require("../entityUtils");
|
|
36
37
|
const EntityNotAuthorizedError_1 = __importDefault(require("../errors/EntityNotAuthorizedError"));
|
|
37
38
|
const AlwaysAllowPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysAllowPrivacyPolicyRule"));
|
|
38
39
|
const AlwaysDenyPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysDenyPrivacyPolicyRule"));
|
|
39
40
|
const PrivacyPolicyRule_1 = __importStar(require("../rules/PrivacyPolicyRule"));
|
|
40
|
-
const TestViewerContext_1 = __importDefault(require("../testfixtures/TestViewerContext"));
|
|
41
41
|
const createUnitTestEntityCompanionProvider_1 = require("../utils/testing/createUnitTestEntityCompanionProvider");
|
|
42
|
-
class TestUserViewerContext extends
|
|
42
|
+
class TestUserViewerContext extends ViewerContext_1.default {
|
|
43
43
|
constructor(entityCompanionProvider, userID) {
|
|
44
44
|
super(entityCompanionProvider);
|
|
45
45
|
this.userID = userID;
|
|
@@ -105,34 +105,26 @@ it('runs through a common workflow', async () => {
|
|
|
105
105
|
const entityCompanionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
106
106
|
const vc1 = new TestUserViewerContext(entityCompanionProvider, (0, uuid_1.v4)());
|
|
107
107
|
const vc2 = new TestUserViewerContext(entityCompanionProvider, (0, uuid_1.v4)());
|
|
108
|
-
const blahOwner1 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1, vc1.
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1, vc1.getQueryContext())
|
|
112
|
-
.setField('ownerID', vc1.getUserID())
|
|
113
|
-
.createAsync());
|
|
114
|
-
const blahOwner2 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2, vc2.getQueryContext())
|
|
115
|
-
.setField('ownerID', vc2.getUserID())
|
|
116
|
-
.createAsync());
|
|
108
|
+
const blahOwner1 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1).setField('ownerID', vc1.getUserID()).createAsync());
|
|
109
|
+
await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1).setField('ownerID', vc1.getUserID()).createAsync());
|
|
110
|
+
const blahOwner2 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2).setField('ownerID', vc2.getUserID()).createAsync());
|
|
117
111
|
// sanity check created objects
|
|
118
112
|
expect(blahOwner1.getField('ownerID')).toEqual(vc1.getUserID());
|
|
119
113
|
expect(blahOwner2.getField('ownerID')).toEqual(vc2.getUserID());
|
|
120
114
|
// check that two people can't read each others data
|
|
121
|
-
await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc1
|
|
122
|
-
await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc2
|
|
115
|
+
await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc1).loadByIDAsync(blahOwner2.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
116
|
+
await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc2).loadByIDAsync(blahOwner1.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
123
117
|
// check that all of owner 1's objects can be loaded
|
|
124
|
-
const results = await (0, entityUtils_1.enforceResultsAsync)(BlahEntity.loader(vc1
|
|
118
|
+
const results = await (0, entityUtils_1.enforceResultsAsync)(BlahEntity.loader(vc1).loadManyByFieldEqualingAsync('ownerID', vc1.getUserID()));
|
|
125
119
|
expect(results).toHaveLength(2);
|
|
126
120
|
// check that two people can't create objects owned by others
|
|
127
|
-
await expect((0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2,
|
|
128
|
-
.setField('ownerID', blahOwner1.getID())
|
|
129
|
-
.createAsync())).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
121
|
+
await expect((0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2).setField('ownerID', blahOwner1.getID()).createAsync())).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
130
122
|
// check that empty load many returns nothing
|
|
131
|
-
const results2 = await BlahEntity.loader(vc1
|
|
123
|
+
const results2 = await BlahEntity.loader(vc1).loadManyByFieldEqualingManyAsync('ownerID', []);
|
|
132
124
|
for (const value in results2.values) {
|
|
133
125
|
expect(value).toHaveLength(0);
|
|
134
126
|
}
|
|
135
127
|
// check that the user can't delete their own data (as specified by privacy rules)
|
|
136
|
-
await expect((0, results_1.enforceAsyncResult)(BlahEntity.deleteAsync(blahOwner2
|
|
128
|
+
await expect((0, results_1.enforceAsyncResult)(BlahEntity.deleteAsync(blahOwner2))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
137
129
|
});
|
|
138
130
|
//# sourceMappingURL=EntityCommonUseCases-test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityCommonUseCases-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCommonUseCases-test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAmD;AACnD,+BAAoC;AAEpC,uDAA+B;AAE/B,iFAAyD;AACzD,kDAA4C;AAC5C,iFAAmG;AAEnG,gDAAqD;AACrD,kGAA0E;AAC1E,yGAAiF;AACjF,uGAA+E;AAC/E,gFAAqF;AACrF,
|
|
1
|
+
{"version":3,"file":"EntityCommonUseCases-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCommonUseCases-test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAmD;AACnD,+BAAoC;AAEpC,uDAA+B;AAE/B,iFAAyD;AACzD,kDAA4C;AAC5C,iFAAmG;AAEnG,qEAA6C;AAC7C,gDAAqD;AACrD,kGAA0E;AAC1E,yGAAiF;AACjF,uGAA+E;AAC/E,gFAAqF;AACrF,kHAA+G;AAE/G,MAAM,qBAAsB,SAAQ,uBAAa;IAC/C,YAAY,uBAAgD,EAAmB,MAAc;QAC3F,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAD8C,WAAM,GAAN,MAAM,CAAQ;IAE7F,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAOD,MAAM,UAAW,SAAQ,gBAAiD;IACxE,MAAM,CAAC,yBAAyB;QAO9B,OAAO;YACL,WAAW,EAAE,UAAU;YACvB,mBAAmB,EAAE,IAAI,6BAAmB,CAAa;gBACvD,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI,wBAAS,CAAC;wBAChB,UAAU,EAAE,IAAI;wBAChB,KAAK,EAAE,IAAI;qBACZ,CAAC;oBACF,OAAO,EAAE,IAAI,wBAAS,CAAC;wBACrB,UAAU,EAAE,UAAU;qBACvB,CAAC;iBACH;gBACD,qBAAqB,EAAE,UAAU;gBACjC,kBAAkB,EAAE,OAAO;aAC5B,CAAC;YACF,kBAAkB,EAAE,uBAAuB;SAC5C,CAAC;IACJ,CAAC;CACF;AAED,MAAM,+BAAgC,SAAQ,2BAK7C;IACC,KAAK,CAAC,aAAa,CACjB,aAAoC,EACpC,aAAiC,EACjC,kBAAwD,EACxD,MAAkB;QAElB,IAAI,aAAa,CAAC,SAAS,EAAE,KAAK,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC5D,OAAO,wCAAoB,CAAC,IAAI,CAAC;SAClC;QACD,OAAO,wCAAoB,CAAC,IAAI,CAAC;IACnC,CAAC;CACF;AAED,MAAM,uBAAwB,SAAQ,6BAKrC;IALD;;QAM8B,gBAAW,GAAG;YACxC,IAAI,+BAA+B,EAAE;YACrC,IAAI,sCAA4B,EAAiD;SAClF,CAAC;QAC0B,cAAS,GAAG;YACtC,IAAI,+BAA+B,EAAE;YACrC,IAAI,sCAA4B,EAAiD;SAClF,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,+BAA+B,EAAE;YACrC,IAAI,sCAA4B,EAAiD;SAClF,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,qCAA2B,EAAiD;SACjF,CAAC;IACJ,CAAC;CAAA;AAED,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;IAC9C,6DAA6D;IAC7D,gDAAgD;IAChD,MAAM,uBAAuB,GAAG,IAAA,6EAAqC,GAAE,CAAC;IACxE,MAAM,GAAG,GAAG,IAAI,qBAAqB,CAAC,uBAAuB,EAAE,IAAA,SAAM,GAAE,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,IAAI,qBAAqB,CAAC,uBAAuB,EAAE,IAAA,SAAM,GAAE,CAAC,CAAC;IAEzE,MAAM,UAAU,GAAG,MAAM,IAAA,4BAAkB,EACzC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAG,CAAC,CAAC,WAAW,EAAE,CAC5E,CAAC;IAEF,MAAM,IAAA,4BAAkB,EACtB,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAG,CAAC,CAAC,WAAW,EAAE,CAC5E,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,IAAA,4BAAkB,EACzC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAG,CAAC,CAAC,WAAW,EAAE,CAC5E,CAAC;IAEF,+BAA+B;IAC/B,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IAChE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IAEhE,oDAAoD;IACpD,MAAM,MAAM,CACV,IAAA,4BAAkB,EAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAC7E,CAAC,OAAO,CAAC,cAAc,CAAC,kCAAwB,CAAC,CAAC;IACnD,MAAM,MAAM,CACV,IAAA,4BAAkB,EAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAC7E,CAAC,OAAO,CAAC,cAAc,CAAC,kCAAwB,CAAC,CAAC;IAEnD,oDAAoD;IACpD,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAmB,EACvC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,4BAA4B,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAG,CAAC,CACjF,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAEhC,6DAA6D;IAC7D,MAAM,MAAM,CACV,IAAA,4BAAkB,EAChB,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAC9E,CACF,CAAC,OAAO,CAAC,cAAc,CAAC,kCAAwB,CAAC,CAAC;IAEnD,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,gCAAgC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC9F,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;KAC/B;IAED,kFAAkF;IAClF,MAAM,MAAM,CAAC,IAAA,4BAAkB,EAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CACzF,kCAAwB,CACzB,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -313,34 +313,22 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
313
313
|
const { ParentEntity, ChildEntity, GrandChildEntity, triggerExecutionCounts, privacyPolicyEvaluationRecords, } = makeEntityClasses(EntityFieldDefinition_1.EntityEdgeDeletionBehavior.CASCADE_DELETE);
|
|
314
314
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
315
315
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
316
|
-
const parent = await ParentEntity.creator(viewerContext
|
|
317
|
-
const child = await ChildEntity.creator(viewerContext
|
|
316
|
+
const parent = await ParentEntity.creator(viewerContext).enforceCreateAsync();
|
|
317
|
+
const child = await ChildEntity.creator(viewerContext)
|
|
318
318
|
.setField('parent_id', parent.getID())
|
|
319
319
|
.enforceCreateAsync();
|
|
320
|
-
const grandchild = await GrandChildEntity.creator(viewerContext
|
|
320
|
+
const grandchild = await GrandChildEntity.creator(viewerContext)
|
|
321
321
|
.setField('parent_id', child.getID())
|
|
322
322
|
.enforceCreateAsync();
|
|
323
|
-
await expect(ParentEntity.loader(viewerContext
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
await expect(ChildEntity.loader(viewerContext, viewerContext.getQueryContext())
|
|
327
|
-
.enforcing()
|
|
328
|
-
.loadByIDNullableAsync(child.getID())).resolves.not.toBeNull();
|
|
329
|
-
await expect(GrandChildEntity.loader(viewerContext, viewerContext.getQueryContext())
|
|
330
|
-
.enforcing()
|
|
331
|
-
.loadByIDNullableAsync(grandchild.getID())).resolves.not.toBeNull();
|
|
323
|
+
await expect(ParentEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(parent.getID())).resolves.not.toBeNull();
|
|
324
|
+
await expect(ChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(child.getID())).resolves.not.toBeNull();
|
|
325
|
+
await expect(GrandChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(grandchild.getID())).resolves.not.toBeNull();
|
|
332
326
|
privacyPolicyEvaluationRecords.shouldRecord = true;
|
|
333
|
-
await ParentEntity.enforceDeleteAsync(parent
|
|
327
|
+
await ParentEntity.enforceDeleteAsync(parent);
|
|
334
328
|
privacyPolicyEvaluationRecords.shouldRecord = false;
|
|
335
|
-
await expect(ParentEntity.loader(viewerContext
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
await expect(ChildEntity.loader(viewerContext, viewerContext.getQueryContext())
|
|
339
|
-
.enforcing()
|
|
340
|
-
.loadByIDNullableAsync(child.getID())).resolves.toBeNull();
|
|
341
|
-
await expect(GrandChildEntity.loader(viewerContext, viewerContext.getQueryContext())
|
|
342
|
-
.enforcing()
|
|
343
|
-
.loadByIDNullableAsync(grandchild.getID())).resolves.toBeNull();
|
|
329
|
+
await expect(ParentEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(parent.getID())).resolves.toBeNull();
|
|
330
|
+
await expect(ChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(child.getID())).resolves.toBeNull();
|
|
331
|
+
await expect(GrandChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(grandchild.getID())).resolves.toBeNull();
|
|
344
332
|
// two calls for each trigger, one beforeDelete, one afterDelete
|
|
345
333
|
expect(triggerExecutionCounts).toMatchObject({
|
|
346
334
|
ParentEntityDeletion: 2,
|
|
@@ -416,33 +404,25 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
416
404
|
const { ParentEntity, ChildEntity, GrandChildEntity, triggerExecutionCounts, privacyPolicyEvaluationRecords, } = makeEntityClasses(EntityFieldDefinition_1.EntityEdgeDeletionBehavior.SET_NULL);
|
|
417
405
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
418
406
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
419
|
-
const parent = await ParentEntity.creator(viewerContext
|
|
420
|
-
const child = await ChildEntity.creator(viewerContext
|
|
407
|
+
const parent = await ParentEntity.creator(viewerContext).enforceCreateAsync();
|
|
408
|
+
const child = await ChildEntity.creator(viewerContext)
|
|
421
409
|
.setField('parent_id', parent.getID())
|
|
422
410
|
.enforceCreateAsync();
|
|
423
|
-
const grandchild = await GrandChildEntity.creator(viewerContext
|
|
411
|
+
const grandchild = await GrandChildEntity.creator(viewerContext)
|
|
424
412
|
.setField('parent_id', child.getID())
|
|
425
413
|
.enforceCreateAsync();
|
|
426
|
-
await expect(ParentEntity.loader(viewerContext
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
await expect(ChildEntity.loader(viewerContext, viewerContext.getQueryContext())
|
|
430
|
-
.enforcing()
|
|
431
|
-
.loadByIDNullableAsync(child.getID())).resolves.not.toBeNull();
|
|
432
|
-
await expect(GrandChildEntity.loader(viewerContext, viewerContext.getQueryContext())
|
|
433
|
-
.enforcing()
|
|
434
|
-
.loadByIDNullableAsync(grandchild.getID())).resolves.not.toBeNull();
|
|
414
|
+
await expect(ParentEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(parent.getID())).resolves.not.toBeNull();
|
|
415
|
+
await expect(ChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(child.getID())).resolves.not.toBeNull();
|
|
416
|
+
await expect(GrandChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(grandchild.getID())).resolves.not.toBeNull();
|
|
435
417
|
privacyPolicyEvaluationRecords.shouldRecord = true;
|
|
436
|
-
await ParentEntity.enforceDeleteAsync(parent
|
|
418
|
+
await ParentEntity.enforceDeleteAsync(parent);
|
|
437
419
|
privacyPolicyEvaluationRecords.shouldRecord = false;
|
|
438
|
-
await expect(ParentEntity.loader(viewerContext
|
|
439
|
-
|
|
440
|
-
.loadByIDNullableAsync(parent.getID())).resolves.toBeNull();
|
|
441
|
-
const loadedChild = await ChildEntity.loader(viewerContext, viewerContext.getQueryContext())
|
|
420
|
+
await expect(ParentEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(parent.getID())).resolves.toBeNull();
|
|
421
|
+
const loadedChild = await ChildEntity.loader(viewerContext)
|
|
442
422
|
.enforcing()
|
|
443
423
|
.loadByIDAsync(child.getID());
|
|
444
424
|
expect(loadedChild.getField('parent_id')).toBeNull();
|
|
445
|
-
const loadedGrandchild = await GrandChildEntity.loader(viewerContext
|
|
425
|
+
const loadedGrandchild = await GrandChildEntity.loader(viewerContext)
|
|
446
426
|
.enforcing()
|
|
447
427
|
.loadByIDAsync(grandchild.getID());
|
|
448
428
|
expect(loadedGrandchild.getField('parent_id')).toEqual(loadedChild.getID());
|
|
@@ -509,20 +489,18 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
509
489
|
const { ParentEntity, ChildEntity, GrandChildEntity, triggerExecutionCounts, privacyPolicyEvaluationRecords, } = makeEntityClasses(EntityFieldDefinition_1.EntityEdgeDeletionBehavior.SET_NULL_INVALIDATE_CACHE_ONLY);
|
|
510
490
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
511
491
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
512
|
-
const parent = await ParentEntity.creator(viewerContext
|
|
513
|
-
const child = await ChildEntity.creator(viewerContext
|
|
492
|
+
const parent = await ParentEntity.creator(viewerContext).enforceCreateAsync();
|
|
493
|
+
const child = await ChildEntity.creator(viewerContext)
|
|
514
494
|
.setField('parent_id', parent.getID())
|
|
515
495
|
.enforceCreateAsync();
|
|
516
|
-
const grandchild = await GrandChildEntity.creator(viewerContext
|
|
496
|
+
const grandchild = await GrandChildEntity.creator(viewerContext)
|
|
517
497
|
.setField('parent_id', child.getID())
|
|
518
498
|
.enforceCreateAsync();
|
|
519
|
-
await expect(ParentEntity.loader(viewerContext
|
|
520
|
-
|
|
521
|
-
.loadByIDNullableAsync(parent.getID())).resolves.not.toBeNull();
|
|
522
|
-
await expect(ChildEntity.loader(viewerContext, viewerContext.getQueryContext())
|
|
499
|
+
await expect(ParentEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(parent.getID())).resolves.not.toBeNull();
|
|
500
|
+
await expect(ChildEntity.loader(viewerContext)
|
|
523
501
|
.enforcing()
|
|
524
502
|
.loadByFieldEqualingAsync('parent_id', parent.getID())).resolves.not.toBeNull();
|
|
525
|
-
await expect(GrandChildEntity.loader(viewerContext
|
|
503
|
+
await expect(GrandChildEntity.loader(viewerContext)
|
|
526
504
|
.enforcing()
|
|
527
505
|
.loadByFieldEqualingAsync('parent_id', child.getID())).resolves.not.toBeNull();
|
|
528
506
|
const childCacheAdapter = viewerContext.getViewerScopedEntityCompanionForClass(ChildEntity)['entityCompanion']['tableDataCoordinator']['cacheAdapter'];
|
|
@@ -536,7 +514,7 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
536
514
|
]);
|
|
537
515
|
expect(grandChildCachedBefore.get(child.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.HIT);
|
|
538
516
|
privacyPolicyEvaluationRecords.shouldRecord = true;
|
|
539
|
-
await ParentEntity.enforceDeleteAsync(parent
|
|
517
|
+
await ParentEntity.enforceDeleteAsync(parent);
|
|
540
518
|
privacyPolicyEvaluationRecords.shouldRecord = false;
|
|
541
519
|
const childCachedAfter = await childCacheAdapter.loadManyAsync('parent_id', [parent.getID()]);
|
|
542
520
|
expect(childCachedAfter.get(parent.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.MISS);
|
|
@@ -544,14 +522,12 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
544
522
|
child.getID(),
|
|
545
523
|
]);
|
|
546
524
|
expect(grandChildCachedAfter.get(child.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.HIT);
|
|
547
|
-
await expect(ParentEntity.loader(viewerContext
|
|
548
|
-
|
|
549
|
-
.loadByIDNullableAsync(parent.getID())).resolves.toBeNull();
|
|
550
|
-
const loadedChild = await ChildEntity.loader(viewerContext, viewerContext.getQueryContext())
|
|
525
|
+
await expect(ParentEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(parent.getID())).resolves.toBeNull();
|
|
526
|
+
const loadedChild = await ChildEntity.loader(viewerContext)
|
|
551
527
|
.enforcing()
|
|
552
528
|
.loadByIDAsync(child.getID());
|
|
553
529
|
expect(loadedChild).not.toBeNull();
|
|
554
|
-
const loadedGrandchild = await GrandChildEntity.loader(viewerContext
|
|
530
|
+
const loadedGrandchild = await GrandChildEntity.loader(viewerContext)
|
|
555
531
|
.enforcing()
|
|
556
532
|
.loadByIDAsync(grandchild.getID());
|
|
557
533
|
expect(loadedGrandchild.getField('parent_id')).toEqual(loadedChild.getID());
|
|
@@ -610,20 +586,18 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
610
586
|
const { ParentEntity, ChildEntity, GrandChildEntity, triggerExecutionCounts, privacyPolicyEvaluationRecords, } = makeEntityClasses(EntityFieldDefinition_1.EntityEdgeDeletionBehavior.CASCADE_DELETE_INVALIDATE_CACHE_ONLY);
|
|
611
587
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
612
588
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
613
|
-
const parent = await ParentEntity.creator(viewerContext
|
|
614
|
-
const child = await ChildEntity.creator(viewerContext
|
|
589
|
+
const parent = await ParentEntity.creator(viewerContext).enforceCreateAsync();
|
|
590
|
+
const child = await ChildEntity.creator(viewerContext)
|
|
615
591
|
.setField('parent_id', parent.getID())
|
|
616
592
|
.enforceCreateAsync();
|
|
617
|
-
const grandchild = await GrandChildEntity.creator(viewerContext
|
|
593
|
+
const grandchild = await GrandChildEntity.creator(viewerContext)
|
|
618
594
|
.setField('parent_id', child.getID())
|
|
619
595
|
.enforceCreateAsync();
|
|
620
|
-
await expect(ParentEntity.loader(viewerContext
|
|
621
|
-
|
|
622
|
-
.loadByIDNullableAsync(parent.getID())).resolves.not.toBeNull();
|
|
623
|
-
await expect(ChildEntity.loader(viewerContext, viewerContext.getQueryContext())
|
|
596
|
+
await expect(ParentEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(parent.getID())).resolves.not.toBeNull();
|
|
597
|
+
await expect(ChildEntity.loader(viewerContext)
|
|
624
598
|
.enforcing()
|
|
625
599
|
.loadByFieldEqualingAsync('parent_id', parent.getID())).resolves.not.toBeNull();
|
|
626
|
-
await expect(GrandChildEntity.loader(viewerContext
|
|
600
|
+
await expect(GrandChildEntity.loader(viewerContext)
|
|
627
601
|
.enforcing()
|
|
628
602
|
.loadByFieldEqualingAsync('parent_id', child.getID())).resolves.not.toBeNull();
|
|
629
603
|
const childCacheAdapter = viewerContext.getViewerScopedEntityCompanionForClass(ChildEntity)['entityCompanion']['tableDataCoordinator']['cacheAdapter'];
|
|
@@ -637,7 +611,7 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
637
611
|
]);
|
|
638
612
|
expect(grandChildCachedBefore.get(child.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.HIT);
|
|
639
613
|
privacyPolicyEvaluationRecords.shouldRecord = true;
|
|
640
|
-
await ParentEntity.enforceDeleteAsync(parent
|
|
614
|
+
await ParentEntity.enforceDeleteAsync(parent);
|
|
641
615
|
privacyPolicyEvaluationRecords.shouldRecord = false;
|
|
642
616
|
const childCachedAfter = await childCacheAdapter.loadManyAsync('parent_id', [parent.getID()]);
|
|
643
617
|
expect(childCachedAfter.get(parent.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.MISS);
|
|
@@ -645,15 +619,9 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
645
619
|
child.getID(),
|
|
646
620
|
]);
|
|
647
621
|
expect(grandChildCachedAfter.get(child.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.MISS);
|
|
648
|
-
await expect(ParentEntity.loader(viewerContext
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
await expect(ChildEntity.loader(viewerContext, viewerContext.getQueryContext())
|
|
652
|
-
.enforcing()
|
|
653
|
-
.loadByIDNullableAsync(child.getID())).resolves.not.toBeNull();
|
|
654
|
-
await expect(GrandChildEntity.loader(viewerContext, viewerContext.getQueryContext())
|
|
655
|
-
.enforcing()
|
|
656
|
-
.loadByIDNullableAsync(grandchild.getID())).resolves.not.toBeNull();
|
|
622
|
+
await expect(ParentEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(parent.getID())).resolves.toBeNull();
|
|
623
|
+
await expect(ChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(child.getID())).resolves.not.toBeNull();
|
|
624
|
+
await expect(GrandChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(grandchild.getID())).resolves.not.toBeNull();
|
|
657
625
|
// two calls for each trigger, one beforeDelete, one afterDelete
|
|
658
626
|
expect(triggerExecutionCounts).toMatchObject({
|
|
659
627
|
ParentEntityDeletion: 2,
|