@expo/entity 0.23.0 → 0.25.1
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/ComposedEntityCacheAdapter.d.ts +19 -0
- package/build/ComposedEntityCacheAdapter.js +66 -0
- package/build/ComposedEntityCacheAdapter.js.map +1 -0
- package/build/ComposedSecondaryEntityCache.d.ts +15 -0
- package/build/ComposedSecondaryEntityCache.js +37 -0
- package/build/ComposedSecondaryEntityCache.js.map +1 -0
- package/build/Entity.js +6 -6
- package/build/Entity.js.map +1 -1
- package/build/EntityAssociationLoader.js +4 -4
- package/build/EntityAssociationLoader.js.map +1 -1
- package/build/EntityFieldDefinition.d.ts +8 -0
- package/build/EntityFieldDefinition.js +5 -0
- package/build/EntityFieldDefinition.js.map +1 -1
- package/build/EntityFields.d.ts +38 -0
- package/build/EntityFields.js +38 -0
- package/build/EntityFields.js.map +1 -1
- package/build/EntityLoader.d.ts +3 -2
- package/build/EntityLoader.js +5 -4
- package/build/EntityLoader.js.map +1 -1
- package/build/EntityLoaderFactory.d.ts +2 -2
- package/build/EntityLoaderFactory.js +2 -2
- package/build/EntityLoaderFactory.js.map +1 -1
- package/build/EntityMutationInfo.d.ts +12 -3
- package/build/EntityMutator.d.ts +5 -4
- package/build/EntityMutator.js +31 -24
- package/build/EntityMutator.js.map +1 -1
- package/build/EntityMutatorFactory.d.ts +4 -4
- package/build/EntityMutatorFactory.js +6 -6
- package/build/EntityMutatorFactory.js.map +1 -1
- package/build/EntityPrivacyPolicy.d.ts +15 -4
- package/build/EntityPrivacyPolicy.js +14 -14
- package/build/EntityPrivacyPolicy.js.map +1 -1
- package/build/GenericSecondaryEntityCache.d.ts +19 -0
- package/build/GenericSecondaryEntityCache.js +74 -0
- package/build/GenericSecondaryEntityCache.js.map +1 -0
- package/build/IEntityGenericCacher.d.ts +11 -0
- package/build/IEntityGenericCacher.js +3 -0
- package/build/IEntityGenericCacher.js.map +1 -0
- package/build/ReadonlyEntity.js +1 -1
- package/build/ReadonlyEntity.js.map +1 -1
- package/build/ViewerScopedEntityLoaderFactory.d.ts +2 -2
- package/build/ViewerScopedEntityLoaderFactory.js +2 -2
- package/build/ViewerScopedEntityLoaderFactory.js.map +1 -1
- package/build/ViewerScopedEntityMutatorFactory.d.ts +4 -4
- package/build/ViewerScopedEntityMutatorFactory.js +6 -6
- package/build/ViewerScopedEntityMutatorFactory.js.map +1 -1
- package/build/__tests__/ComposedCacheAdapter-test.d.ts +1 -0
- package/build/__tests__/ComposedCacheAdapter-test.js +198 -0
- package/build/__tests__/ComposedCacheAdapter-test.js.map +1 -0
- package/build/__tests__/ComposedSecondaryEntityCache-test.d.ts +1 -0
- package/build/__tests__/ComposedSecondaryEntityCache-test.js +65 -0
- package/build/__tests__/ComposedSecondaryEntityCache-test.js.map +1 -0
- package/build/__tests__/EntityCommonUseCases-test.js +1 -1
- package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
- package/build/__tests__/EntityEdges-test.js +260 -37
- package/build/__tests__/EntityEdges-test.js.map +1 -1
- package/build/__tests__/EntityLoader-constructor-test.js +2 -1
- package/build/__tests__/EntityLoader-constructor-test.js.map +1 -1
- package/build/__tests__/EntityLoader-test.js +19 -11
- package/build/__tests__/EntityLoader-test.js.map +1 -1
- package/build/__tests__/EntityMutator-test.js +96 -43
- package/build/__tests__/EntityMutator-test.js.map +1 -1
- package/build/__tests__/EntityPrivacyPolicy-test.js +23 -12
- package/build/__tests__/EntityPrivacyPolicy-test.js.map +1 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.js +1 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
- package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js +3 -2
- package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +1 -1
- package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js +3 -2
- package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +1 -1
- package/build/index.d.ts +4 -0
- package/build/index.js +7 -1
- package/build/index.js.map +1 -1
- package/build/rules/AlwaysAllowPrivacyPolicyRule.d.ts +2 -1
- package/build/rules/AlwaysAllowPrivacyPolicyRule.js +1 -1
- package/build/rules/AlwaysAllowPrivacyPolicyRule.js.map +1 -1
- package/build/rules/AlwaysDenyPrivacyPolicyRule.d.ts +2 -1
- package/build/rules/AlwaysDenyPrivacyPolicyRule.js +1 -1
- package/build/rules/AlwaysDenyPrivacyPolicyRule.js.map +1 -1
- package/build/rules/AlwaysSkipPrivacyPolicyRule.d.ts +2 -1
- package/build/rules/AlwaysSkipPrivacyPolicyRule.js +1 -1
- package/build/rules/AlwaysSkipPrivacyPolicyRule.js.map +1 -1
- package/build/rules/PrivacyPolicyRule.d.ts +2 -1
- package/build/rules/PrivacyPolicyRule.js.map +1 -1
- package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +1 -0
- package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +1 -1
- package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +1 -0
- package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +1 -1
- package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +1 -0
- package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +1 -1
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.d.ts +2 -0
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.js +6 -6
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.js.map +1 -1
- package/package.json +1 -1
- package/src/ComposedEntityCacheAdapter.ts +86 -0
- package/src/ComposedSecondaryEntityCache.ts +63 -0
- package/src/Entity.ts +6 -4
- package/src/EntityAssociationLoader.ts +4 -4
- package/src/EntityFieldDefinition.ts +8 -0
- package/src/EntityFields.ts +45 -0
- package/src/EntityLoader.ts +5 -1
- package/src/EntityLoaderFactory.ts +4 -2
- package/src/EntityMutationInfo.ts +13 -3
- package/src/EntityMutator.ts +44 -21
- package/src/EntityMutatorFactory.ts +10 -4
- package/src/EntityPrivacyPolicy.ts +31 -1
- package/src/GenericSecondaryEntityCache.ts +98 -0
- package/src/IEntityGenericCacher.ts +15 -0
- package/src/ReadonlyEntity.ts +1 -1
- package/src/ViewerScopedEntityLoaderFactory.ts +8 -3
- package/src/ViewerScopedEntityMutatorFactory.ts +22 -7
- package/src/__tests__/ComposedCacheAdapter-test.ts +280 -0
- package/src/__tests__/ComposedSecondaryEntityCache-test.ts +101 -0
- package/src/__tests__/EntityCommonUseCases-test.ts +2 -1
- package/src/__tests__/EntityEdges-test.ts +286 -45
- package/src/__tests__/EntityLoader-constructor-test.ts +3 -1
- package/src/__tests__/EntityLoader-test.ts +26 -1
- package/src/__tests__/EntityMutator-test.ts +99 -37
- package/src/__tests__/EntityPrivacyPolicy-test.ts +66 -7
- package/src/__tests__/EntitySecondaryCacheLoader-test.ts +1 -0
- package/src/__tests__/ViewerScopedEntityLoaderFactory-test.ts +4 -2
- package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +6 -2
- package/src/index.ts +4 -0
- package/src/rules/AlwaysAllowPrivacyPolicyRule.ts +2 -0
- package/src/rules/AlwaysDenyPrivacyPolicyRule.ts +2 -0
- package/src/rules/AlwaysSkipPrivacyPolicyRule.ts +2 -0
- package/src/rules/PrivacyPolicyRule.ts +2 -0
- package/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.ts +2 -0
- package/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.ts +2 -0
- package/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.ts +2 -0
- package/src/utils/testing/PrivacyPolicyRuleTestUtils.ts +14 -6
|
@@ -39,6 +39,7 @@ describe(EntityLoader_1.default, () => {
|
|
|
39
39
|
var _a;
|
|
40
40
|
const dateToInsert = new Date();
|
|
41
41
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
42
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
42
43
|
const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
43
44
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
44
45
|
const id1 = (0, uuid_1.v4)();
|
|
@@ -71,7 +72,7 @@ describe(EntityLoader_1.default, () => {
|
|
|
71
72
|
const cacheAdapter = cacheAdapterProvider.getCacheAdapter(TestEntity_1.testEntityConfiguration);
|
|
72
73
|
const entityCache = new ReadThroughEntityCache_1.default(TestEntity_1.testEntityConfiguration, cacheAdapter);
|
|
73
74
|
const dataManager = new EntityDataManager_1.default(databaseAdapter, entityCache, StubQueryContextProvider_1.default, (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)()), TestEntity_1.default.name);
|
|
74
|
-
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManager, metricsAdapter);
|
|
75
|
+
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, privacyPolicyEvaluationContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManager, metricsAdapter);
|
|
75
76
|
const entity = await (0, results_1.enforceAsyncResult)(entityLoader.loadByIDAsync(id1));
|
|
76
77
|
expect(entity.getID()).toEqual(id1);
|
|
77
78
|
expect(entity.getField('dateField')).toEqual(dateToInsert);
|
|
@@ -96,6 +97,7 @@ describe(EntityLoader_1.default, () => {
|
|
|
96
97
|
const privacyPolicy = new TestEntity_1.TestEntityPrivacyPolicy();
|
|
97
98
|
const spiedPrivacyPolicy = (0, ts_mockito_1.spy)(privacyPolicy);
|
|
98
99
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
100
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
99
101
|
const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
100
102
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
101
103
|
const id1 = (0, uuid_1.v4)();
|
|
@@ -136,7 +138,7 @@ describe(EntityLoader_1.default, () => {
|
|
|
136
138
|
const cacheAdapter = cacheAdapterProvider.getCacheAdapter(TestEntity_1.testEntityConfiguration);
|
|
137
139
|
const entityCache = new ReadThroughEntityCache_1.default(TestEntity_1.testEntityConfiguration, cacheAdapter);
|
|
138
140
|
const dataManager = new EntityDataManager_1.default(databaseAdapter, entityCache, StubQueryContextProvider_1.default, (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)()), TestEntity_1.default.name);
|
|
139
|
-
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManager, metricsAdapter);
|
|
141
|
+
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, privacyPolicyEvaluationContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManager, metricsAdapter);
|
|
140
142
|
const entities = await (0, entityUtils_1.enforceResultsAsync)(entityLoader.loadManyByFieldEqualityConjunctionAsync([
|
|
141
143
|
{
|
|
142
144
|
fieldName: 'stringField',
|
|
@@ -148,7 +150,7 @@ describe(EntityLoader_1.default, () => {
|
|
|
148
150
|
},
|
|
149
151
|
]));
|
|
150
152
|
expect(entities).toHaveLength(2);
|
|
151
|
-
(0, ts_mockito_1.verify)(spiedPrivacyPolicy.authorizeReadAsync(viewerContext, queryContext, (0, ts_mockito_1.anyOfClass)(TestEntity_1.default), (0, ts_mockito_1.anything)())).twice();
|
|
153
|
+
(0, ts_mockito_1.verify)(spiedPrivacyPolicy.authorizeReadAsync(viewerContext, queryContext, privacyPolicyEvaluationContext, (0, ts_mockito_1.anyOfClass)(TestEntity_1.default), (0, ts_mockito_1.anything)())).twice();
|
|
152
154
|
await expect(entityLoader.loadManyByFieldEqualityConjunctionAsync([
|
|
153
155
|
{ fieldName: 'customIdField', fieldValue: 'not-a-uuid' },
|
|
154
156
|
])).rejects.toThrowError('Entity field not valid: TestEntity (customIdField = not-a-uuid)');
|
|
@@ -157,6 +159,7 @@ describe(EntityLoader_1.default, () => {
|
|
|
157
159
|
const privacyPolicy = new TestEntity_1.TestEntityPrivacyPolicy();
|
|
158
160
|
const spiedPrivacyPolicy = (0, ts_mockito_1.spy)(privacyPolicy);
|
|
159
161
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
162
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
160
163
|
const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
161
164
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
162
165
|
const id1 = (0, uuid_1.v4)();
|
|
@@ -179,36 +182,39 @@ describe(EntityLoader_1.default, () => {
|
|
|
179
182
|
const cacheAdapter = cacheAdapterProvider.getCacheAdapter(TestEntity_1.testEntityConfiguration);
|
|
180
183
|
const entityCache = new ReadThroughEntityCache_1.default(TestEntity_1.testEntityConfiguration, cacheAdapter);
|
|
181
184
|
const dataManager = new EntityDataManager_1.default(databaseAdapter, entityCache, StubQueryContextProvider_1.default, (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)()), TestEntity_1.default.name);
|
|
182
|
-
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManager, metricsAdapter);
|
|
185
|
+
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, privacyPolicyEvaluationContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManager, metricsAdapter);
|
|
183
186
|
const entity = await (0, results_1.enforceAsyncResult)(entityLoader.loadByIDAsync(id1));
|
|
184
|
-
(0, ts_mockito_1.verify)(spiedPrivacyPolicy.authorizeReadAsync(viewerContext, queryContext, entity, (0, ts_mockito_1.anything)())).once();
|
|
187
|
+
(0, ts_mockito_1.verify)(spiedPrivacyPolicy.authorizeReadAsync(viewerContext, queryContext, privacyPolicyEvaluationContext, entity, (0, ts_mockito_1.anything)())).once();
|
|
185
188
|
});
|
|
186
189
|
it('invalidates upon invalidate one', async () => {
|
|
187
190
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
191
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
188
192
|
const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
189
193
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
190
194
|
const privacyPolicy = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(TestEntity_1.TestEntityPrivacyPolicy));
|
|
191
195
|
const dataManagerMock = (0, ts_mockito_1.mock)();
|
|
192
196
|
const dataManagerInstance = (0, ts_mockito_1.instance)(dataManagerMock);
|
|
193
197
|
const id1 = (0, uuid_1.v4)();
|
|
194
|
-
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
|
|
198
|
+
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, privacyPolicyEvaluationContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
|
|
195
199
|
await entityLoader.invalidateFieldsAsync({ customIdField: id1 });
|
|
196
200
|
(0, ts_mockito_1.verify)(dataManagerMock.invalidateObjectFieldsAsync((0, ts_mockito_1.deepEqual)({ customIdField: id1 }))).once();
|
|
197
201
|
});
|
|
198
202
|
it('invalidates upon invalidate by field', async () => {
|
|
199
203
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
204
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
200
205
|
const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
201
206
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
202
207
|
const privacyPolicy = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(TestEntity_1.TestEntityPrivacyPolicy));
|
|
203
208
|
const dataManagerMock = (0, ts_mockito_1.mock)();
|
|
204
209
|
const dataManagerInstance = (0, ts_mockito_1.instance)(dataManagerMock);
|
|
205
210
|
const id1 = (0, uuid_1.v4)();
|
|
206
|
-
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
|
|
211
|
+
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, privacyPolicyEvaluationContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
|
|
207
212
|
await entityLoader.invalidateFieldsAsync({ customIdField: id1 });
|
|
208
213
|
(0, ts_mockito_1.verify)(dataManagerMock.invalidateObjectFieldsAsync((0, ts_mockito_1.deepEqual)({ customIdField: id1 }))).once();
|
|
209
214
|
});
|
|
210
215
|
it('invalidates upon invalidate by entity', async () => {
|
|
211
216
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
217
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
212
218
|
const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
213
219
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
214
220
|
const privacyPolicy = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(TestEntity_1.TestEntityPrivacyPolicy));
|
|
@@ -218,12 +224,13 @@ describe(EntityLoader_1.default, () => {
|
|
|
218
224
|
const entityMock = (0, ts_mockito_1.mock)(TestEntity_1.default);
|
|
219
225
|
(0, ts_mockito_1.when)(entityMock.getAllDatabaseFields()).thenReturn({ customIdField: id1 });
|
|
220
226
|
const entityInstance = (0, ts_mockito_1.instance)(entityMock);
|
|
221
|
-
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
|
|
227
|
+
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, privacyPolicyEvaluationContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
|
|
222
228
|
await entityLoader.invalidateEntityAsync(entityInstance);
|
|
223
229
|
(0, ts_mockito_1.verify)(dataManagerMock.invalidateObjectFieldsAsync((0, ts_mockito_1.deepEqual)({ customIdField: id1 }))).once();
|
|
224
230
|
});
|
|
225
231
|
it('returns error result when not allowed', async () => {
|
|
226
232
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
233
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
227
234
|
const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
228
235
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
229
236
|
const privacyPolicyMock = (0, ts_mockito_1.mock)(TestEntity_1.TestEntityPrivacyPolicy);
|
|
@@ -231,10 +238,10 @@ describe(EntityLoader_1.default, () => {
|
|
|
231
238
|
const id1 = (0, uuid_1.v4)();
|
|
232
239
|
(0, ts_mockito_1.when)(dataManagerMock.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(new Map().set(id1, [{ customIdField: id1 }]));
|
|
233
240
|
const rejectionError = new Error();
|
|
234
|
-
(0, ts_mockito_1.when)(privacyPolicyMock.authorizeReadAsync(viewerContext, queryContext, (0, ts_mockito_1.anyOfClass)(TestEntity_1.default), (0, ts_mockito_1.anything)())).thenReject(rejectionError);
|
|
241
|
+
(0, ts_mockito_1.when)(privacyPolicyMock.authorizeReadAsync(viewerContext, queryContext, privacyPolicyEvaluationContext, (0, ts_mockito_1.anyOfClass)(TestEntity_1.default), (0, ts_mockito_1.anything)())).thenReject(rejectionError);
|
|
235
242
|
const privacyPolicy = (0, ts_mockito_1.instance)(privacyPolicyMock);
|
|
236
243
|
const dataManagerInstance = (0, ts_mockito_1.instance)(dataManagerMock);
|
|
237
|
-
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
|
|
244
|
+
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, privacyPolicyEvaluationContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
|
|
238
245
|
const entityResult = await entityLoader.loadByIDAsync(id1);
|
|
239
246
|
expect(entityResult.ok).toBe(false);
|
|
240
247
|
expect(entityResult.reason).toEqual(rejectionError);
|
|
@@ -242,6 +249,7 @@ describe(EntityLoader_1.default, () => {
|
|
|
242
249
|
});
|
|
243
250
|
it('throws upon database adapter error', async () => {
|
|
244
251
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
252
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
245
253
|
const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
246
254
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
247
255
|
const privacyPolicy = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(TestEntity_1.TestEntityPrivacyPolicy));
|
|
@@ -249,7 +257,7 @@ describe(EntityLoader_1.default, () => {
|
|
|
249
257
|
const error = new Error();
|
|
250
258
|
(0, ts_mockito_1.when)(dataManagerMock.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenReject(error);
|
|
251
259
|
const dataManagerInstance = (0, ts_mockito_1.instance)(dataManagerMock);
|
|
252
|
-
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
|
|
260
|
+
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, privacyPolicyEvaluationContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
|
|
253
261
|
const loadByValue = (0, uuid_1.v4)();
|
|
254
262
|
await expect(entityLoader.loadByIDAsync(loadByValue)).rejects.toEqual(error);
|
|
255
263
|
await expect(entityLoader.enforcing().loadByIDAsync(loadByValue)).rejects.toEqual(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityLoader-test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EntityLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityLoader-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,6 +116,7 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
116
116
|
describe('forCreate', () => {
|
|
117
117
|
it('creates entities', async () => {
|
|
118
118
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
119
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
119
120
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
120
121
|
const id1 = (0, uuid_1.v4)();
|
|
121
122
|
const id2 = (0, uuid_1.v4)();
|
|
@@ -138,13 +139,14 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
138
139
|
},
|
|
139
140
|
]);
|
|
140
141
|
const newEntity = await entityMutatorFactory
|
|
141
|
-
.forCreate(viewerContext, queryContext)
|
|
142
|
+
.forCreate(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
142
143
|
.setField('stringField', 'huh')
|
|
143
144
|
.enforceCreateAsync();
|
|
144
145
|
expect(newEntity).toBeTruthy();
|
|
145
146
|
});
|
|
146
147
|
it('checks privacy', async () => {
|
|
147
148
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
149
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
148
150
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
149
151
|
const id1 = (0, uuid_1.v4)();
|
|
150
152
|
const id2 = (0, uuid_1.v4)();
|
|
@@ -168,13 +170,14 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
168
170
|
]);
|
|
169
171
|
const spiedPrivacyPolicy = (0, ts_mockito_1.spy)(privacyPolicy);
|
|
170
172
|
await entityMutatorFactory
|
|
171
|
-
.forCreate(viewerContext, queryContext)
|
|
173
|
+
.forCreate(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
172
174
|
.setField('stringField', 'huh')
|
|
173
175
|
.enforceCreateAsync();
|
|
174
|
-
(0, ts_mockito_1.verify)(spiedPrivacyPolicy.authorizeCreateAsync(viewerContext, (0, ts_mockito_1.anyOfClass)(EntityQueryContext_1.EntityTransactionalQueryContext), (0, ts_mockito_1.anyOfClass)(TestEntity_1.default), (0, ts_mockito_1.anything)())).once();
|
|
176
|
+
(0, ts_mockito_1.verify)(spiedPrivacyPolicy.authorizeCreateAsync(viewerContext, (0, ts_mockito_1.anyOfClass)(EntityQueryContext_1.EntityTransactionalQueryContext), privacyPolicyEvaluationContext, (0, ts_mockito_1.anyOfClass)(TestEntity_1.default), (0, ts_mockito_1.anything)())).once();
|
|
175
177
|
});
|
|
176
178
|
it('executes triggers', async () => {
|
|
177
179
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
180
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
178
181
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
179
182
|
const id1 = (0, uuid_1.v4)();
|
|
180
183
|
const id2 = (0, uuid_1.v4)();
|
|
@@ -198,7 +201,7 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
198
201
|
]);
|
|
199
202
|
const triggerSpies = setUpMutationTriggerSpies(mutationTriggers);
|
|
200
203
|
await entityMutatorFactory
|
|
201
|
-
.forCreate(viewerContext, queryContext)
|
|
204
|
+
.forCreate(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
202
205
|
.setField('stringField', 'huh')
|
|
203
206
|
.enforceCreateAsync();
|
|
204
207
|
verifyTriggerCounts(viewerContext, triggerSpies, {
|
|
@@ -212,6 +215,7 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
212
215
|
});
|
|
213
216
|
it('executes validators', async () => {
|
|
214
217
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
218
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
215
219
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
216
220
|
const id1 = (0, uuid_1.v4)();
|
|
217
221
|
const id2 = (0, uuid_1.v4)();
|
|
@@ -235,7 +239,7 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
235
239
|
]);
|
|
236
240
|
const validatorSpies = setUpMutationValidatorSpies(mutationValidators);
|
|
237
241
|
await entityMutatorFactory
|
|
238
|
-
.forCreate(viewerContext, queryContext)
|
|
242
|
+
.forCreate(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
239
243
|
.setField('stringField', 'huh')
|
|
240
244
|
.enforceCreateAsync();
|
|
241
245
|
verifyValidatorCounts(viewerContext, validatorSpies, 1, { type: EntityMutationInfo_1.EntityMutationType.CREATE });
|
|
@@ -244,6 +248,7 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
244
248
|
describe('forUpdate', () => {
|
|
245
249
|
it('updates entities', async () => {
|
|
246
250
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
251
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
247
252
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
248
253
|
const id1 = (0, uuid_1.v4)();
|
|
249
254
|
const id2 = (0, uuid_1.v4)();
|
|
@@ -265,19 +270,24 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
265
270
|
nullableField: null,
|
|
266
271
|
},
|
|
267
272
|
]);
|
|
268
|
-
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
273
|
+
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
274
|
+
.forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
275
|
+
.loadByIDAsync(id2));
|
|
269
276
|
const updatedEntity = await entityMutatorFactory
|
|
270
|
-
.forUpdate(existingEntity, queryContext)
|
|
277
|
+
.forUpdate(existingEntity, queryContext, privacyPolicyEvaluationContext)
|
|
271
278
|
.setField('stringField', 'huh2')
|
|
272
279
|
.enforceUpdateAsync();
|
|
273
280
|
expect(updatedEntity).toBeTruthy();
|
|
274
281
|
expect(updatedEntity.getAllFields()).not.toMatchObject(existingEntity.getAllFields());
|
|
275
282
|
expect(updatedEntity.getField('stringField')).toEqual('huh2');
|
|
276
|
-
const reloadedEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
283
|
+
const reloadedEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
284
|
+
.forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
285
|
+
.loadByIDAsync(id2));
|
|
277
286
|
expect(reloadedEntity.getAllFields()).toMatchObject(updatedEntity.getAllFields());
|
|
278
287
|
});
|
|
279
288
|
it('checks privacy', async () => {
|
|
280
289
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
290
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
281
291
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
282
292
|
const id1 = (0, uuid_1.v4)();
|
|
283
293
|
const id2 = (0, uuid_1.v4)();
|
|
@@ -300,15 +310,18 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
300
310
|
},
|
|
301
311
|
]);
|
|
302
312
|
const spiedPrivacyPolicy = (0, ts_mockito_1.spy)(privacyPolicy);
|
|
303
|
-
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
313
|
+
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
314
|
+
.forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
315
|
+
.loadByIDAsync(id2));
|
|
304
316
|
await entityMutatorFactory
|
|
305
|
-
.forUpdate(existingEntity, queryContext)
|
|
317
|
+
.forUpdate(existingEntity, queryContext, privacyPolicyEvaluationContext)
|
|
306
318
|
.setField('stringField', 'huh2')
|
|
307
319
|
.enforceUpdateAsync();
|
|
308
|
-
(0, ts_mockito_1.verify)(spiedPrivacyPolicy.authorizeUpdateAsync(viewerContext, (0, ts_mockito_1.anyOfClass)(EntityQueryContext_1.EntityTransactionalQueryContext), (0, ts_mockito_1.anyOfClass)(TestEntity_1.default), (0, ts_mockito_1.anything)())).once();
|
|
320
|
+
(0, ts_mockito_1.verify)(spiedPrivacyPolicy.authorizeUpdateAsync(viewerContext, (0, ts_mockito_1.anyOfClass)(EntityQueryContext_1.EntityTransactionalQueryContext), privacyPolicyEvaluationContext, (0, ts_mockito_1.anyOfClass)(TestEntity_1.default), (0, ts_mockito_1.anything)())).once();
|
|
309
321
|
});
|
|
310
322
|
it('executes triggers', async () => {
|
|
311
323
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
324
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
312
325
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
313
326
|
const id1 = (0, uuid_1.v4)();
|
|
314
327
|
const id2 = (0, uuid_1.v4)();
|
|
@@ -331,9 +344,11 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
331
344
|
},
|
|
332
345
|
]);
|
|
333
346
|
const triggerSpies = setUpMutationTriggerSpies(mutationTriggers);
|
|
334
|
-
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
347
|
+
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
348
|
+
.forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
349
|
+
.loadByIDAsync(id2));
|
|
335
350
|
await entityMutatorFactory
|
|
336
|
-
.forUpdate(existingEntity, queryContext)
|
|
351
|
+
.forUpdate(existingEntity, queryContext, privacyPolicyEvaluationContext)
|
|
337
352
|
.setField('stringField', 'huh2')
|
|
338
353
|
.enforceUpdateAsync();
|
|
339
354
|
verifyTriggerCounts(viewerContext, triggerSpies, {
|
|
@@ -347,6 +362,7 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
347
362
|
});
|
|
348
363
|
it('executes validators', async () => {
|
|
349
364
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
365
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
350
366
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
351
367
|
const id1 = (0, uuid_1.v4)();
|
|
352
368
|
const id2 = (0, uuid_1.v4)();
|
|
@@ -369,9 +385,11 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
369
385
|
},
|
|
370
386
|
]);
|
|
371
387
|
const validatorSpies = setUpMutationValidatorSpies(mutationValidators);
|
|
372
|
-
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
388
|
+
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
389
|
+
.forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
390
|
+
.loadByIDAsync(id2));
|
|
373
391
|
await entityMutatorFactory
|
|
374
|
-
.forUpdate(existingEntity, queryContext)
|
|
392
|
+
.forUpdate(existingEntity, queryContext, privacyPolicyEvaluationContext)
|
|
375
393
|
.setField('stringField', 'huh2')
|
|
376
394
|
.enforceUpdateAsync();
|
|
377
395
|
verifyValidatorCounts(viewerContext, validatorSpies, 1, {
|
|
@@ -383,6 +401,7 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
383
401
|
describe('forDelete', () => {
|
|
384
402
|
it('deletes entities', async () => {
|
|
385
403
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
404
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
386
405
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
387
406
|
const id1 = (0, uuid_1.v4)();
|
|
388
407
|
const { entityMutatorFactory, entityLoaderFactory } = createEntityMutatorFactory([
|
|
@@ -395,13 +414,20 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
395
414
|
nullableField: null,
|
|
396
415
|
},
|
|
397
416
|
]);
|
|
398
|
-
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
417
|
+
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
418
|
+
.forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
419
|
+
.loadByIDAsync(id1));
|
|
399
420
|
expect(existingEntity).toBeTruthy();
|
|
400
|
-
await entityMutatorFactory
|
|
401
|
-
|
|
421
|
+
await entityMutatorFactory
|
|
422
|
+
.forDelete(existingEntity, queryContext, privacyPolicyEvaluationContext)
|
|
423
|
+
.enforceDeleteAsync();
|
|
424
|
+
await expect((0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
425
|
+
.forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
426
|
+
.loadByIDAsync(id1))).rejects.toBeInstanceOf(Error);
|
|
402
427
|
});
|
|
403
428
|
it('checks privacy', async () => {
|
|
404
429
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
430
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
405
431
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
406
432
|
const id1 = (0, uuid_1.v4)();
|
|
407
433
|
const { privacyPolicy, entityMutatorFactory, entityLoaderFactory } = createEntityMutatorFactory([
|
|
@@ -415,12 +441,17 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
415
441
|
},
|
|
416
442
|
]);
|
|
417
443
|
const spiedPrivacyPolicy = (0, ts_mockito_1.spy)(privacyPolicy);
|
|
418
|
-
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
419
|
-
|
|
420
|
-
|
|
444
|
+
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
445
|
+
.forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
446
|
+
.loadByIDAsync(id1));
|
|
447
|
+
await entityMutatorFactory
|
|
448
|
+
.forDelete(existingEntity, queryContext, privacyPolicyEvaluationContext)
|
|
449
|
+
.enforceDeleteAsync();
|
|
450
|
+
(0, ts_mockito_1.verify)(spiedPrivacyPolicy.authorizeDeleteAsync(viewerContext, (0, ts_mockito_1.anyOfClass)(EntityQueryContext_1.EntityTransactionalQueryContext), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anyOfClass)(TestEntity_1.default), (0, ts_mockito_1.anything)())).once();
|
|
421
451
|
});
|
|
422
452
|
it('executes triggers', async () => {
|
|
423
453
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
454
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
424
455
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
425
456
|
const id1 = (0, uuid_1.v4)();
|
|
426
457
|
const { mutationTriggers, entityMutatorFactory, entityLoaderFactory } = createEntityMutatorFactory([
|
|
@@ -434,8 +465,12 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
434
465
|
},
|
|
435
466
|
]);
|
|
436
467
|
const triggerSpies = setUpMutationTriggerSpies(mutationTriggers);
|
|
437
|
-
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
438
|
-
|
|
468
|
+
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
469
|
+
.forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
470
|
+
.loadByIDAsync(id1));
|
|
471
|
+
await entityMutatorFactory
|
|
472
|
+
.forDelete(existingEntity, queryContext, privacyPolicyEvaluationContext)
|
|
473
|
+
.enforceDeleteAsync();
|
|
439
474
|
verifyTriggerCounts(viewerContext, triggerSpies, {
|
|
440
475
|
beforeCreate: false,
|
|
441
476
|
afterCreate: false,
|
|
@@ -447,6 +482,7 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
447
482
|
});
|
|
448
483
|
it('does not execute validators', async () => {
|
|
449
484
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
485
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
450
486
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
451
487
|
const id1 = (0, uuid_1.v4)();
|
|
452
488
|
const { mutationValidators, entityMutatorFactory, entityLoaderFactory } = createEntityMutatorFactory([
|
|
@@ -460,8 +496,12 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
460
496
|
},
|
|
461
497
|
]);
|
|
462
498
|
const validatorSpies = setUpMutationValidatorSpies(mutationValidators);
|
|
463
|
-
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
464
|
-
|
|
499
|
+
const existingEntity = await (0, results_1.enforceAsyncResult)(entityLoaderFactory
|
|
500
|
+
.forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
501
|
+
.loadByIDAsync(id1));
|
|
502
|
+
await entityMutatorFactory
|
|
503
|
+
.forDelete(existingEntity, queryContext, privacyPolicyEvaluationContext)
|
|
504
|
+
.enforceDeleteAsync();
|
|
465
505
|
verifyValidatorCounts(viewerContext, validatorSpies, 0, {
|
|
466
506
|
type: EntityMutationInfo_1.EntityMutationType.DELETE,
|
|
467
507
|
});
|
|
@@ -469,6 +509,7 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
469
509
|
});
|
|
470
510
|
it('invalidates cache for fields upon create', async () => {
|
|
471
511
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
512
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
472
513
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
473
514
|
const id1 = (0, uuid_1.v4)();
|
|
474
515
|
const { entityMutatorFactory, entityLoaderFactory } = createEntityMutatorFactory([
|
|
@@ -482,20 +523,21 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
482
523
|
},
|
|
483
524
|
]);
|
|
484
525
|
const entites1 = await (0, entityUtils_1.enforceResultsAsync)(entityLoaderFactory
|
|
485
|
-
.forLoad(viewerContext, queryContext)
|
|
526
|
+
.forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
486
527
|
.loadManyByFieldEqualingAsync('stringField', 'huh'));
|
|
487
528
|
expect(entites1).toHaveLength(1);
|
|
488
529
|
await (0, results_1.enforceAsyncResult)(entityMutatorFactory
|
|
489
|
-
.forCreate(viewerContext, queryContext)
|
|
530
|
+
.forCreate(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
490
531
|
.setField('stringField', 'huh')
|
|
491
532
|
.createAsync());
|
|
492
533
|
const entities2 = await (0, entityUtils_1.enforceResultsAsync)(entityLoaderFactory
|
|
493
|
-
.forLoad(viewerContext, queryContext)
|
|
534
|
+
.forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
494
535
|
.loadManyByFieldEqualingAsync('stringField', 'huh'));
|
|
495
536
|
expect(entities2).toHaveLength(2);
|
|
496
537
|
});
|
|
497
538
|
it('throws error when field not valid', async () => {
|
|
498
539
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
540
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
499
541
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
500
542
|
const id1 = (0, uuid_1.v4)();
|
|
501
543
|
const { entityMutatorFactory } = createEntityMutatorFactory([
|
|
@@ -509,32 +551,33 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
509
551
|
},
|
|
510
552
|
]);
|
|
511
553
|
await expect(entityMutatorFactory
|
|
512
|
-
.forCreate(viewerContext, queryContext)
|
|
554
|
+
.forCreate(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
513
555
|
.setField('stringField', 10)
|
|
514
556
|
.createAsync()).rejects.toThrowError('Entity field not valid: TestEntity (stringField = 10)');
|
|
515
557
|
const createdEntity = await entityMutatorFactory
|
|
516
|
-
.forCreate(viewerContext, queryContext)
|
|
558
|
+
.forCreate(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
517
559
|
.setField('stringField', 'hello')
|
|
518
560
|
.enforceCreateAsync();
|
|
519
561
|
await expect(entityMutatorFactory
|
|
520
|
-
.forUpdate(createdEntity, queryContext)
|
|
562
|
+
.forUpdate(createdEntity, queryContext, privacyPolicyEvaluationContext)
|
|
521
563
|
.setField('stringField', 10)
|
|
522
564
|
.updateAsync()).rejects.toThrowError('Entity field not valid: TestEntity (stringField = 10)');
|
|
523
565
|
});
|
|
524
566
|
it('returns error result when not authorized to create', async () => {
|
|
525
567
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
568
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
526
569
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
527
570
|
const privacyPolicyMock = (0, ts_mockito_1.mock)(SimpleTestEntity_1.SimpleTestEntityPrivacyPolicy);
|
|
528
571
|
const databaseAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
529
572
|
const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
530
573
|
const entityLoaderFactory = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityLoaderFactory_1.default));
|
|
531
574
|
const rejectionError = new Error();
|
|
532
|
-
(0, ts_mockito_1.when)(privacyPolicyMock.authorizeCreateAsync(viewerContext, (0, ts_mockito_1.anyOfClass)(EntityQueryContext_1.EntityTransactionalQueryContext), (0, ts_mockito_1.anyOfClass)(SimpleTestEntity_1.default), (0, ts_mockito_1.anything)())).thenReject(rejectionError);
|
|
533
|
-
(0, ts_mockito_1.when)(privacyPolicyMock.authorizeUpdateAsync(viewerContext, (0, ts_mockito_1.anyOfClass)(EntityQueryContext_1.EntityTransactionalQueryContext), (0, ts_mockito_1.anyOfClass)(SimpleTestEntity_1.default), (0, ts_mockito_1.anything)())).thenReject(rejectionError);
|
|
534
|
-
(0, ts_mockito_1.when)(privacyPolicyMock.authorizeDeleteAsync(viewerContext, (0, ts_mockito_1.anyOfClass)(EntityQueryContext_1.EntityTransactionalQueryContext), (0, ts_mockito_1.anyOfClass)(SimpleTestEntity_1.default), (0, ts_mockito_1.anything)())).thenReject(rejectionError);
|
|
575
|
+
(0, ts_mockito_1.when)(privacyPolicyMock.authorizeCreateAsync(viewerContext, (0, ts_mockito_1.anyOfClass)(EntityQueryContext_1.EntityTransactionalQueryContext), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anyOfClass)(SimpleTestEntity_1.default), (0, ts_mockito_1.anything)())).thenReject(rejectionError);
|
|
576
|
+
(0, ts_mockito_1.when)(privacyPolicyMock.authorizeUpdateAsync(viewerContext, (0, ts_mockito_1.anyOfClass)(EntityQueryContext_1.EntityTransactionalQueryContext), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anyOfClass)(SimpleTestEntity_1.default), (0, ts_mockito_1.anything)())).thenReject(rejectionError);
|
|
577
|
+
(0, ts_mockito_1.when)(privacyPolicyMock.authorizeDeleteAsync(viewerContext, (0, ts_mockito_1.anyOfClass)(EntityQueryContext_1.EntityTransactionalQueryContext), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anyOfClass)(SimpleTestEntity_1.default), (0, ts_mockito_1.anything)())).thenReject(rejectionError);
|
|
535
578
|
const entityMutatorFactory = new EntityMutatorFactory_1.default(SimpleTestEntity_1.simpleTestEntityConfiguration, SimpleTestEntity_1.default, (0, ts_mockito_1.instance)(privacyPolicyMock), [], {}, entityLoaderFactory, databaseAdapter, metricsAdapter);
|
|
536
579
|
const entityCreateResult = await entityMutatorFactory
|
|
537
|
-
.forCreate(viewerContext, queryContext)
|
|
580
|
+
.forCreate(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
538
581
|
.createAsync();
|
|
539
582
|
expect(entityCreateResult.ok).toBe(false);
|
|
540
583
|
expect(entityCreateResult.reason).toEqual(rejectionError);
|
|
@@ -544,13 +587,13 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
544
587
|
id: id1,
|
|
545
588
|
});
|
|
546
589
|
const entityUpdateResult = await entityMutatorFactory
|
|
547
|
-
.forUpdate(fakeEntity, queryContext)
|
|
590
|
+
.forUpdate(fakeEntity, queryContext, privacyPolicyEvaluationContext)
|
|
548
591
|
.updateAsync();
|
|
549
592
|
expect(entityUpdateResult.ok).toBe(false);
|
|
550
593
|
expect(entityUpdateResult.reason).toEqual(rejectionError);
|
|
551
594
|
expect(entityUpdateResult.value).toBe(undefined);
|
|
552
595
|
const entityDeleteResult = await entityMutatorFactory
|
|
553
|
-
.forDelete(fakeEntity, queryContext)
|
|
596
|
+
.forDelete(fakeEntity, queryContext, privacyPolicyEvaluationContext)
|
|
554
597
|
.deleteAsync();
|
|
555
598
|
expect(entityDeleteResult.ok).toBe(false);
|
|
556
599
|
expect(entityDeleteResult.reason).toEqual(rejectionError);
|
|
@@ -558,6 +601,7 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
558
601
|
});
|
|
559
602
|
it('throws error when db adapter throws', async () => {
|
|
560
603
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
604
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
561
605
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
562
606
|
const privacyPolicy = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(SimpleTestEntity_1.SimpleTestEntityPrivacyPolicy));
|
|
563
607
|
const databaseAdapterMock = (0, ts_mockito_1.mock)();
|
|
@@ -572,24 +616,33 @@ describe(EntityMutatorFactory_1.default, () => {
|
|
|
572
616
|
const fakeEntity = new SimpleTestEntity_1.default(viewerContext, {
|
|
573
617
|
id: id1,
|
|
574
618
|
});
|
|
575
|
-
await expect(entityMutatorFactory
|
|
576
|
-
|
|
577
|
-
|
|
619
|
+
await expect(entityMutatorFactory
|
|
620
|
+
.forCreate(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
621
|
+
.createAsync()).rejects.toEqual(rejectionError);
|
|
622
|
+
await expect(entityMutatorFactory
|
|
623
|
+
.forUpdate(fakeEntity, queryContext, privacyPolicyEvaluationContext)
|
|
624
|
+
.updateAsync()).rejects.toEqual(rejectionError);
|
|
625
|
+
await expect(entityMutatorFactory
|
|
626
|
+
.forDelete(fakeEntity, queryContext, privacyPolicyEvaluationContext)
|
|
627
|
+
.deleteAsync()).rejects.toEqual(rejectionError);
|
|
578
628
|
});
|
|
579
629
|
it('records metrics appropriately', async () => {
|
|
580
630
|
const viewerContext = (0, ts_mockito_1.mock)();
|
|
631
|
+
const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
581
632
|
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
582
633
|
const { entityMutatorFactory, metricsAdapter } = createEntityMutatorFactory([]);
|
|
583
634
|
const spiedMetricsAdapter = (0, ts_mockito_1.spy)(metricsAdapter);
|
|
584
635
|
const newEntity = await (0, results_1.enforceAsyncResult)(entityMutatorFactory
|
|
585
|
-
.forCreate(viewerContext, queryContext)
|
|
636
|
+
.forCreate(viewerContext, queryContext, privacyPolicyEvaluationContext)
|
|
586
637
|
.setField('stringField', 'huh')
|
|
587
638
|
.createAsync());
|
|
588
639
|
await (0, results_1.enforceAsyncResult)(entityMutatorFactory
|
|
589
|
-
.forUpdate(newEntity, queryContext)
|
|
640
|
+
.forUpdate(newEntity, queryContext, privacyPolicyEvaluationContext)
|
|
590
641
|
.setField('stringField', 'wat')
|
|
591
642
|
.updateAsync());
|
|
592
|
-
await (0, results_1.enforceAsyncResult)(entityMutatorFactory
|
|
643
|
+
await (0, results_1.enforceAsyncResult)(entityMutatorFactory
|
|
644
|
+
.forDelete(newEntity, queryContext, privacyPolicyEvaluationContext)
|
|
645
|
+
.deleteAsync());
|
|
593
646
|
(0, ts_mockito_1.verify)(spiedMetricsAdapter.logMutatorMutationEvent((0, ts_mockito_1.objectContaining)({
|
|
594
647
|
type: IEntityMetricsAdapter_1.EntityMetricsMutationType.CREATE,
|
|
595
648
|
entityClassName: TestEntity_1.default.name,
|