@expo/entity 0.46.0 → 0.47.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.
Files changed (216) hide show
  1. package/build/src/AuthorizationResultBasedEntityMutator.d.ts +5 -3
  2. package/build/src/AuthorizationResultBasedEntityMutator.js +75 -37
  3. package/build/src/AuthorizationResultBasedEntityMutator.js.map +1 -1
  4. package/build/src/EntityDeleter.js +1 -1
  5. package/build/src/EntityDeleter.js.map +1 -1
  6. package/build/src/EntityFields.d.ts +7 -0
  7. package/build/src/EntityFields.js +11 -1
  8. package/build/src/EntityFields.js.map +1 -1
  9. package/build/src/EntityMutatorFactory.d.ts +3 -2
  10. package/build/src/EntityMutatorFactory.js +4 -4
  11. package/build/src/EntityMutatorFactory.js.map +1 -1
  12. package/build/src/EntityUpdater.js +1 -1
  13. package/build/src/EntityUpdater.js.map +1 -1
  14. package/build/src/ViewerScopedEntityMutatorFactory.d.ts +3 -2
  15. package/build/src/ViewerScopedEntityMutatorFactory.js +4 -4
  16. package/build/src/ViewerScopedEntityMutatorFactory.js.map +1 -1
  17. package/package.json +5 -3
  18. package/src/AuthorizationResultBasedEntityMutator.ts +63 -49
  19. package/src/EntityDeleter.ts +1 -1
  20. package/src/EntityFields.ts +13 -0
  21. package/src/EntityMutatorFactory.ts +5 -0
  22. package/src/EntityUpdater.ts +1 -1
  23. package/src/ViewerScopedEntityMutatorFactory.ts +5 -2
  24. package/src/__tests__/EntityFields-test.ts +7 -0
  25. package/src/__tests__/EntityMutator-test.ts +217 -16
  26. package/LICENSE +0 -21
  27. package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.d.ts +0 -1
  28. package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js +0 -240
  29. package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js.map +0 -1
  30. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.d.ts +0 -26
  31. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js +0 -109
  32. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js.map +0 -1
  33. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.d.ts +0 -1
  34. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.js +0 -590
  35. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.js.map +0 -1
  36. package/build/src/__tests__/ComposedCacheAdapter-test.d.ts +0 -1
  37. package/build/src/__tests__/ComposedCacheAdapter-test.js +0 -259
  38. package/build/src/__tests__/ComposedCacheAdapter-test.js.map +0 -1
  39. package/build/src/__tests__/ComposedSecondaryEntityCache-test.d.ts +0 -1
  40. package/build/src/__tests__/ComposedSecondaryEntityCache-test.js +0 -67
  41. package/build/src/__tests__/ComposedSecondaryEntityCache-test.js.map +0 -1
  42. package/build/src/__tests__/EnforcingEntityAssociationLoader-test.d.ts +0 -1
  43. package/build/src/__tests__/EnforcingEntityAssociationLoader-test.js +0 -113
  44. package/build/src/__tests__/EnforcingEntityAssociationLoader-test.js.map +0 -1
  45. package/build/src/__tests__/EnforcingEntityLoader-test.d.ts +0 -1
  46. package/build/src/__tests__/EnforcingEntityLoader-test.js +0 -316
  47. package/build/src/__tests__/EnforcingEntityLoader-test.js.map +0 -1
  48. package/build/src/__tests__/Entity-test.d.ts +0 -1
  49. package/build/src/__tests__/Entity-test.js +0 -92
  50. package/build/src/__tests__/Entity-test.js.map +0 -1
  51. package/build/src/__tests__/EntityAssociationLoader-test.d.ts +0 -1
  52. package/build/src/__tests__/EntityAssociationLoader-test.js +0 -28
  53. package/build/src/__tests__/EntityAssociationLoader-test.js.map +0 -1
  54. package/build/src/__tests__/EntityCommonUseCases-test.d.ts +0 -1
  55. package/build/src/__tests__/EntityCommonUseCases-test.js +0 -111
  56. package/build/src/__tests__/EntityCommonUseCases-test.js.map +0 -1
  57. package/build/src/__tests__/EntityCompanion-test.d.ts +0 -1
  58. package/build/src/__tests__/EntityCompanion-test.js +0 -42
  59. package/build/src/__tests__/EntityCompanion-test.js.map +0 -1
  60. package/build/src/__tests__/EntityCompanionProvider-test.d.ts +0 -1
  61. package/build/src/__tests__/EntityCompanionProvider-test.js +0 -53
  62. package/build/src/__tests__/EntityCompanionProvider-test.js.map +0 -1
  63. package/build/src/__tests__/EntityConfiguration-test.d.ts +0 -1
  64. package/build/src/__tests__/EntityConfiguration-test.js +0 -164
  65. package/build/src/__tests__/EntityConfiguration-test.js.map +0 -1
  66. package/build/src/__tests__/EntityDatabaseAdapter-test.d.ts +0 -1
  67. package/build/src/__tests__/EntityDatabaseAdapter-test.js +0 -189
  68. package/build/src/__tests__/EntityDatabaseAdapter-test.js.map +0 -1
  69. package/build/src/__tests__/EntityEdges-test.d.ts +0 -1
  70. package/build/src/__tests__/EntityEdges-test.js +0 -680
  71. package/build/src/__tests__/EntityEdges-test.js.map +0 -1
  72. package/build/src/__tests__/EntityFields-test.d.ts +0 -1
  73. package/build/src/__tests__/EntityFields-test.js +0 -61
  74. package/build/src/__tests__/EntityFields-test.js.map +0 -1
  75. package/build/src/__tests__/EntityLoader-test.d.ts +0 -1
  76. package/build/src/__tests__/EntityLoader-test.js +0 -34
  77. package/build/src/__tests__/EntityLoader-test.js.map +0 -1
  78. package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +0 -1
  79. package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.js +0 -71
  80. package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +0 -1
  81. package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.d.ts +0 -1
  82. package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.js +0 -54
  83. package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.js.map +0 -1
  84. package/build/src/__tests__/EntityMutator-test.d.ts +0 -1
  85. package/build/src/__tests__/EntityMutator-test.js +0 -721
  86. package/build/src/__tests__/EntityMutator-test.js.map +0 -1
  87. package/build/src/__tests__/EntityPrivacyPolicy-test.d.ts +0 -1
  88. package/build/src/__tests__/EntityPrivacyPolicy-test.js +0 -429
  89. package/build/src/__tests__/EntityPrivacyPolicy-test.js.map +0 -1
  90. package/build/src/__tests__/EntityQueryContext-test.d.ts +0 -1
  91. package/build/src/__tests__/EntityQueryContext-test.js +0 -181
  92. package/build/src/__tests__/EntityQueryContext-test.js.map +0 -1
  93. package/build/src/__tests__/EntitySecondaryCacheLoader-test.d.ts +0 -1
  94. package/build/src/__tests__/EntitySecondaryCacheLoader-test.js +0 -58
  95. package/build/src/__tests__/EntitySecondaryCacheLoader-test.js.map +0 -1
  96. package/build/src/__tests__/EntitySelfReferentialEdges-test.d.ts +0 -1
  97. package/build/src/__tests__/EntitySelfReferentialEdges-test.js +0 -196
  98. package/build/src/__tests__/EntitySelfReferentialEdges-test.js.map +0 -1
  99. package/build/src/__tests__/GenericEntityCacheAdapter-test.d.ts +0 -1
  100. package/build/src/__tests__/GenericEntityCacheAdapter-test.js +0 -95
  101. package/build/src/__tests__/GenericEntityCacheAdapter-test.js.map +0 -1
  102. package/build/src/__tests__/ReadonlyEntity-test.d.ts +0 -1
  103. package/build/src/__tests__/ReadonlyEntity-test.js +0 -209
  104. package/build/src/__tests__/ReadonlyEntity-test.js.map +0 -1
  105. package/build/src/__tests__/ViewerContext-test.d.ts +0 -1
  106. package/build/src/__tests__/ViewerContext-test.js +0 -28
  107. package/build/src/__tests__/ViewerContext-test.js.map +0 -1
  108. package/build/src/__tests__/ViewerScopedEntityCompanion-test.d.ts +0 -1
  109. package/build/src/__tests__/ViewerScopedEntityCompanion-test.js +0 -18
  110. package/build/src/__tests__/ViewerScopedEntityCompanion-test.js.map +0 -1
  111. package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.d.ts +0 -1
  112. package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.js +0 -18
  113. package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +0 -1
  114. package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.d.ts +0 -1
  115. package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.js +0 -21
  116. package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +0 -1
  117. package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.d.ts +0 -1
  118. package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.js +0 -20
  119. package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +0 -1
  120. package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.d.ts +0 -1
  121. package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +0 -121
  122. package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +0 -1
  123. package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.d.ts +0 -1
  124. package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +0 -119
  125. package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +0 -1
  126. package/build/src/__tests__/entityUtils-test.d.ts +0 -1
  127. package/build/src/__tests__/entityUtils-test.js +0 -88
  128. package/build/src/__tests__/entityUtils-test.js.map +0 -1
  129. package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.d.ts +0 -1
  130. package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.js +0 -21
  131. package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.js.map +0 -1
  132. package/build/src/internal/__tests__/CompositeFieldHolder-test.d.ts +0 -1
  133. package/build/src/internal/__tests__/CompositeFieldHolder-test.js +0 -25
  134. package/build/src/internal/__tests__/CompositeFieldHolder-test.js.map +0 -1
  135. package/build/src/internal/__tests__/CompositeFieldValueMap-test.d.ts +0 -1
  136. package/build/src/internal/__tests__/CompositeFieldValueMap-test.js +0 -40
  137. package/build/src/internal/__tests__/CompositeFieldValueMap-test.js.map +0 -1
  138. package/build/src/internal/__tests__/EntityDataManager-test.d.ts +0 -1
  139. package/build/src/internal/__tests__/EntityDataManager-test.js +0 -666
  140. package/build/src/internal/__tests__/EntityDataManager-test.js.map +0 -1
  141. package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.d.ts +0 -1
  142. package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.js +0 -135
  143. package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.js.map +0 -1
  144. package/build/src/internal/__tests__/ReadThroughEntityCache-test.d.ts +0 -1
  145. package/build/src/internal/__tests__/ReadThroughEntityCache-test.js +0 -217
  146. package/build/src/internal/__tests__/ReadThroughEntityCache-test.js.map +0 -1
  147. package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.d.ts +0 -1
  148. package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +0 -18
  149. package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +0 -1
  150. package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.d.ts +0 -1
  151. package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +0 -18
  152. package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +0 -1
  153. package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.d.ts +0 -1
  154. package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +0 -18
  155. package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +0 -1
  156. package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.d.ts +0 -28
  157. package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.js +0 -53
  158. package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.js.map +0 -1
  159. package/build/src/utils/__testfixtures__/SimpleTestEntity.d.ts +0 -20
  160. package/build/src/utils/__testfixtures__/SimpleTestEntity.js +0 -46
  161. package/build/src/utils/__testfixtures__/SimpleTestEntity.js.map +0 -1
  162. package/build/src/utils/__testfixtures__/StubCacheAdapter.d.ts +0 -29
  163. package/build/src/utils/__testfixtures__/StubCacheAdapter.js +0 -103
  164. package/build/src/utils/__testfixtures__/StubCacheAdapter.js.map +0 -1
  165. package/build/src/utils/__testfixtures__/StubDatabaseAdapter.d.ts +0 -26
  166. package/build/src/utils/__testfixtures__/StubDatabaseAdapter.js +0 -173
  167. package/build/src/utils/__testfixtures__/StubDatabaseAdapter.js.map +0 -1
  168. package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.d.ts +0 -7
  169. package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.js +0 -12
  170. package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.js.map +0 -1
  171. package/build/src/utils/__testfixtures__/StubQueryContextProvider.d.ts +0 -7
  172. package/build/src/utils/__testfixtures__/StubQueryContextProvider.js +0 -17
  173. package/build/src/utils/__testfixtures__/StubQueryContextProvider.js.map +0 -1
  174. package/build/src/utils/__testfixtures__/TSMockitoExtensions.d.ts +0 -9
  175. package/build/src/utils/__testfixtures__/TSMockitoExtensions.js +0 -65
  176. package/build/src/utils/__testfixtures__/TSMockitoExtensions.js.map +0 -1
  177. package/build/src/utils/__testfixtures__/TestEntity.d.ts +0 -30
  178. package/build/src/utils/__testfixtures__/TestEntity.js +0 -96
  179. package/build/src/utils/__testfixtures__/TestEntity.js.map +0 -1
  180. package/build/src/utils/__testfixtures__/TestEntity2.d.ts +0 -20
  181. package/build/src/utils/__testfixtures__/TestEntity2.js +0 -49
  182. package/build/src/utils/__testfixtures__/TestEntity2.js.map +0 -1
  183. package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.d.ts +0 -36
  184. package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.js +0 -80
  185. package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.js.map +0 -1
  186. package/build/src/utils/__testfixtures__/TestViewerContext.d.ts +0 -3
  187. package/build/src/utils/__testfixtures__/TestViewerContext.js +0 -8
  188. package/build/src/utils/__testfixtures__/TestViewerContext.js.map +0 -1
  189. package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.d.ts +0 -7
  190. package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.js +0 -33
  191. package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.js.map +0 -1
  192. package/build/src/utils/__testfixtures__/describeFieldTestCase.d.ts +0 -2
  193. package/build/src/utils/__testfixtures__/describeFieldTestCase.js +0 -19
  194. package/build/src/utils/__testfixtures__/describeFieldTestCase.js.map +0 -1
  195. package/build/src/utils/__tests__/EntityCreationUtils-test.d.ts +0 -1
  196. package/build/src/utils/__tests__/EntityCreationUtils-test.js +0 -144
  197. package/build/src/utils/__tests__/EntityCreationUtils-test.js.map +0 -1
  198. package/build/src/utils/__tests__/EntityPrivacyUtils-test.d.ts +0 -1
  199. package/build/src/utils/__tests__/EntityPrivacyUtils-test.js +0 -460
  200. package/build/src/utils/__tests__/EntityPrivacyUtils-test.js.map +0 -1
  201. package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.d.ts +0 -1
  202. package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js +0 -180
  203. package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js.map +0 -1
  204. package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.d.ts +0 -1
  205. package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js +0 -27
  206. package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js.map +0 -1
  207. package/build/src/utils/collections/__tests__/SerializableKeyMap-test.d.ts +0 -5
  208. package/build/src/utils/collections/__tests__/SerializableKeyMap-test.js +0 -99
  209. package/build/src/utils/collections/__tests__/SerializableKeyMap-test.js.map +0 -1
  210. package/build/src/utils/collections/__tests__/maps-test.d.ts +0 -1
  211. package/build/src/utils/collections/__tests__/maps-test.js +0 -121
  212. package/build/src/utils/collections/__tests__/maps-test.js.map +0 -1
  213. package/build/src/utils/collections/__tests__/sets-test.d.ts +0 -1
  214. package/build/src/utils/collections/__tests__/sets-test.js +0 -19
  215. package/build/src/utils/collections/__tests__/sets-test.js.map +0 -1
  216. package/build/tsconfig.tsbuildinfo +0 -1
@@ -1,316 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const results_1 = require("@expo/results");
4
- const globals_1 = require("@jest/globals");
5
- const ts_mockito_1 = require("ts-mockito");
6
- const AuthorizationResultBasedEntityLoader_1 = require("../AuthorizationResultBasedEntityLoader");
7
- const EnforcingEntityLoader_1 = require("../EnforcingEntityLoader");
8
- const CompositeFieldHolder_1 = require("../internal/CompositeFieldHolder");
9
- const CompositeFieldValueMap_1 = require("../internal/CompositeFieldValueMap");
10
- (0, globals_1.describe)(EnforcingEntityLoader_1.EnforcingEntityLoader, () => {
11
- (0, globals_1.describe)('loadManyByFieldEqualingManyAsync', () => {
12
- (0, globals_1.it)('throws when result is unsuccessful', async () => {
13
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
14
- const rejection = new Error();
15
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
16
- hello: [(0, results_1.result)(rejection)],
17
- })));
18
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
19
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
20
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
21
- });
22
- (0, globals_1.it)('returns value when result is successful', async () => {
23
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
24
- const resolved = {};
25
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
26
- hello: [(0, results_1.result)(resolved)],
27
- })));
28
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
29
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
30
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(new Map(Object.entries({
31
- hello: [resolved],
32
- })));
33
- });
34
- });
35
- (0, globals_1.describe)('loadManyByCompositeFieldEqualingManyAsync', () => {
36
- (0, globals_1.it)('throws when result is unsuccessful', async () => {
37
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
38
- const rejection = new Error();
39
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByCompositeFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(new CompositeFieldValueMap_1.CompositeFieldValueMap([
40
- [new CompositeFieldHolder_1.CompositeFieldValueHolder({ wat: 'hello' }), [(0, results_1.result)(rejection)]],
41
- ]));
42
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
43
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
44
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByCompositeFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
45
- });
46
- (0, globals_1.it)('returns value when result is successful', async () => {
47
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
48
- const resolved = {};
49
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByCompositeFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(new CompositeFieldValueMap_1.CompositeFieldValueMap([
50
- [new CompositeFieldHolder_1.CompositeFieldValueHolder({ wat: 'hello' }), [(0, results_1.result)(resolved)]],
51
- ]));
52
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
53
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
54
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByCompositeFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(new CompositeFieldValueMap_1.CompositeFieldValueMap([[new CompositeFieldHolder_1.CompositeFieldValueHolder({ wat: 'hello' }), [resolved]]]));
55
- });
56
- });
57
- (0, globals_1.describe)('loadManyByCompositeFieldEqualingAsync', () => {
58
- (0, globals_1.it)('throws when result is unsuccessful', async () => {
59
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
60
- const rejection = new Error();
61
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByCompositeFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(rejection)]);
62
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
63
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
64
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByCompositeFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
65
- });
66
- (0, globals_1.it)('returns value when result is successful', async () => {
67
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
68
- const resolved = {};
69
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByCompositeFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(resolved)]);
70
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
71
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
72
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByCompositeFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual([resolved]);
73
- });
74
- });
75
- (0, globals_1.describe)('loadByCompositeFieldEqualingAsync', () => {
76
- (0, globals_1.it)('throws when result is unsuccessful', async () => {
77
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
78
- const rejection = new Error();
79
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByCompositeFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
80
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
81
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
82
- await (0, globals_1.expect)(enforcingEntityLoader.loadByCompositeFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
83
- });
84
- (0, globals_1.it)('returns value when result is successful', async () => {
85
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
86
- const resolved = {};
87
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByCompositeFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
88
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
89
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
90
- await (0, globals_1.expect)(enforcingEntityLoader.loadByCompositeFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
91
- });
92
- });
93
- (0, globals_1.describe)('loadManyByFieldEqualingAsync', () => {
94
- (0, globals_1.it)('throws when result is unsuccessful', async () => {
95
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
96
- const rejection = new Error();
97
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(rejection)]);
98
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
99
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
100
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
101
- });
102
- (0, globals_1.it)('returns value when result is successful', async () => {
103
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
104
- const resolved = {};
105
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(resolved)]);
106
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
107
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
108
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual([resolved]);
109
- });
110
- });
111
- (0, globals_1.describe)('loadByFieldEqualingAsync', () => {
112
- (0, globals_1.it)('throws when result is unsuccessful', async () => {
113
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
114
- const rejection = new Error();
115
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
116
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
117
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
118
- await (0, globals_1.expect)(enforcingEntityLoader.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
119
- });
120
- (0, globals_1.it)('returns value when result is successful', async () => {
121
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
122
- const resolved = {};
123
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
124
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
125
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
126
- await (0, globals_1.expect)(enforcingEntityLoader.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
127
- });
128
- (0, globals_1.it)('returns null when result is successful and no entity is found', async () => {
129
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
130
- const resolved = null;
131
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
132
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
133
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
134
- await (0, globals_1.expect)(enforcingEntityLoader.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
135
- });
136
- (0, globals_1.it)('throws when multiple matching entities are found', async () => {
137
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
138
- const multipleEntitiesError = new Error();
139
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenReject(multipleEntitiesError);
140
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
141
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
142
- await (0, globals_1.expect)(enforcingEntityLoader.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toEqual(multipleEntitiesError);
143
- });
144
- });
145
- (0, globals_1.describe)('loadByIDAsync', () => {
146
- (0, globals_1.it)('throws when result is unsuccessful', async () => {
147
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
148
- const rejection = new Error();
149
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
150
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
151
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
152
- await (0, globals_1.expect)(enforcingEntityLoader.loadByIDAsync((0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
153
- });
154
- (0, globals_1.it)('returns value when result is successful', async () => {
155
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
156
- const resolved = {};
157
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
158
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
159
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
160
- await (0, globals_1.expect)(enforcingEntityLoader.loadByIDAsync((0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
161
- });
162
- });
163
- (0, globals_1.describe)('loadByIDNullableAsync', () => {
164
- (0, globals_1.it)('throws when result is unsuccessful', async () => {
165
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
166
- const rejection = new Error();
167
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDNullableAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
168
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
169
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
170
- await (0, globals_1.expect)(enforcingEntityLoader.loadByIDNullableAsync((0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
171
- });
172
- (0, globals_1.it)('returns value when result is successful', async () => {
173
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
174
- const resolved = {};
175
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDNullableAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
176
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
177
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
178
- await (0, globals_1.expect)(enforcingEntityLoader.loadByIDNullableAsync((0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
179
- });
180
- (0, globals_1.it)('returns null when non-existent object', async () => {
181
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
182
- const resolved = null;
183
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDNullableAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
184
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
185
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
186
- await (0, globals_1.expect)(enforcingEntityLoader.loadByIDNullableAsync((0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
187
- });
188
- });
189
- (0, globals_1.describe)('loadManyByIDsAsync', () => {
190
- (0, globals_1.it)('throws when result is unsuccessful', async () => {
191
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
192
- const rejection = new Error();
193
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByIDsAsync((0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
194
- hello: (0, results_1.result)(rejection),
195
- })));
196
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
197
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
198
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByIDsAsync((0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
199
- });
200
- (0, globals_1.it)('returns value when result is successful', async () => {
201
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
202
- const resolved = {};
203
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByIDsAsync((0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
204
- hello: (0, results_1.result)(resolved),
205
- })));
206
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
207
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
208
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByIDsAsync((0, ts_mockito_1.anything)())).resolves.toEqual(new Map(Object.entries({
209
- hello: resolved,
210
- })));
211
- });
212
- });
213
- (0, globals_1.describe)('loadManyByIDsNullableAsync', () => {
214
- (0, globals_1.it)('throws when result is unsuccessful even when there is a null result', async () => {
215
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
216
- const rejection = new Error();
217
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByIDsNullableAsync((0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
218
- hello: (0, results_1.result)(rejection),
219
- world: null,
220
- })));
221
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
222
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
223
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByIDsNullableAsync((0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
224
- });
225
- (0, globals_1.it)('returns value when result is successful', async () => {
226
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
227
- const resolved = {};
228
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByIDsNullableAsync((0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
229
- hello: (0, results_1.result)(resolved),
230
- world: null,
231
- })));
232
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
233
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
234
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByIDsNullableAsync((0, ts_mockito_1.anything)())).resolves.toEqual(new Map(Object.entries({
235
- hello: resolved,
236
- world: null,
237
- })));
238
- });
239
- });
240
- (0, globals_1.describe)('loadFirstByFieldEqualityConjunction', () => {
241
- (0, globals_1.it)('throws when result is unsuccessful', async () => {
242
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
243
- const rejection = new Error();
244
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
245
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
246
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
247
- await (0, globals_1.expect)(enforcingEntityLoader.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
248
- });
249
- (0, globals_1.it)('returns value when result is successful', async () => {
250
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
251
- const resolved = {};
252
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
253
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
254
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
255
- await (0, globals_1.expect)(enforcingEntityLoader.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
256
- });
257
- (0, globals_1.it)('returns null when the query is successful but no rows match', async () => {
258
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
259
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(null);
260
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
261
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
262
- await (0, globals_1.expect)(enforcingEntityLoader.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toBeNull();
263
- });
264
- });
265
- (0, globals_1.describe)('loadManyByFieldEqualityConjunction', () => {
266
- (0, globals_1.it)('throws when result is unsuccessful', async () => {
267
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
268
- const rejection = new Error();
269
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(rejection)]);
270
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
271
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
272
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
273
- });
274
- (0, globals_1.it)('returns value when result is successful', async () => {
275
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
276
- const resolved = {};
277
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(resolved)]);
278
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
279
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
280
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual([resolved]);
281
- });
282
- });
283
- (0, globals_1.describe)('loadManyByRawWhereClause', () => {
284
- (0, globals_1.it)('throws when result is unsuccessful', async () => {
285
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
286
- const rejection = new Error();
287
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByRawWhereClauseAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(rejection)]);
288
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
289
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
290
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByRawWhereClauseAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
291
- });
292
- (0, globals_1.it)('returns value when result is successful', async () => {
293
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
294
- const resolved = {};
295
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByRawWhereClauseAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(resolved)]);
296
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
297
- const enforcingEntityLoader = new EnforcingEntityLoader_1.EnforcingEntityLoader(nonEnforcingEntityLoader);
298
- await (0, globals_1.expect)(enforcingEntityLoader.loadManyByRawWhereClauseAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual([resolved]);
299
- });
300
- });
301
- (0, globals_1.it)('has the same method names as EntityLoader', () => {
302
- const enforcingLoaderProperties = Object.getOwnPropertyNames(EnforcingEntityLoader_1.EnforcingEntityLoader.prototype);
303
- const nonEnforcingLoaderProperties = Object.getOwnPropertyNames(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader.prototype);
304
- // ensure known differences still exist for sanity check
305
- const knownLoaderOnlyDifferences = [
306
- 'validateFieldAndValues',
307
- 'validateFieldAndValuesAndConvertToHolders',
308
- 'validateCompositeFieldAndValuesAndConvertToHolders',
309
- 'constructAndAuthorizeEntitiesFromCompositeFieldValueHolderMapAsync',
310
- ];
311
- (0, globals_1.expect)(nonEnforcingLoaderProperties).toEqual(globals_1.expect.arrayContaining(knownLoaderOnlyDifferences));
312
- const loaderPropertiesWithoutKnownDifferences = nonEnforcingLoaderProperties.filter((p) => !knownLoaderOnlyDifferences.includes(p));
313
- (0, globals_1.expect)(enforcingLoaderProperties).toEqual(loaderPropertiesWithoutKnownDifferences);
314
- });
315
- });
316
- //# sourceMappingURL=EnforcingEntityLoader-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnforcingEntityLoader-test.js","sourceRoot":"","sources":["../../../src/__tests__/EnforcingEntityLoader-test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,92 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const AuthorizationResultBasedEntityMutator_1 = require("../AuthorizationResultBasedEntityMutator");
5
- const EnforcingEntityCreator_1 = require("../EnforcingEntityCreator");
6
- const EnforcingEntityDeleter_1 = require("../EnforcingEntityDeleter");
7
- const EnforcingEntityUpdater_1 = require("../EnforcingEntityUpdater");
8
- const Entity_1 = require("../Entity");
9
- const ViewerContext_1 = require("../ViewerContext");
10
- const SimpleTestEntity_1 = require("../utils/__testfixtures__/SimpleTestEntity");
11
- const createUnitTestEntityCompanionProvider_1 = require("../utils/__testfixtures__/createUnitTestEntityCompanionProvider");
12
- (0, globals_1.describe)(Entity_1.Entity, () => {
13
- (0, globals_1.describe)('creator', () => {
14
- (0, globals_1.it)('creates a new EnforcingEntityCreator', () => {
15
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
16
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
17
- (0, globals_1.expect)(SimpleTestEntity_1.SimpleTestEntity.creator(viewerContext)).toBeInstanceOf(EnforcingEntityCreator_1.EnforcingEntityCreator);
18
- });
19
- });
20
- (0, globals_1.describe)('creatorWithAuthorizationResults', () => {
21
- (0, globals_1.it)('creates a new AuthorizationResultBasedCreateMutator', () => {
22
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
23
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
24
- (0, globals_1.expect)(SimpleTestEntity_1.SimpleTestEntity.creatorWithAuthorizationResults(viewerContext)).toBeInstanceOf(AuthorizationResultBasedEntityMutator_1.AuthorizationResultBasedCreateMutator);
25
- });
26
- });
27
- (0, globals_1.describe)('updater', () => {
28
- (0, globals_1.it)('creates a new EnforcingEntityUpdater', () => {
29
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
30
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
31
- const data = {
32
- id: 'what',
33
- };
34
- const testEntity = new SimpleTestEntity_1.SimpleTestEntity({
35
- viewerContext,
36
- id: 'what',
37
- databaseFields: data,
38
- selectedFields: data,
39
- });
40
- (0, globals_1.expect)(SimpleTestEntity_1.SimpleTestEntity.updater(testEntity)).toBeInstanceOf(EnforcingEntityUpdater_1.EnforcingEntityUpdater);
41
- });
42
- });
43
- (0, globals_1.describe)('updaterWithAuthorizationResults', () => {
44
- (0, globals_1.it)('creates a new AuthorizationResultBasedUpdateMutator', () => {
45
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
46
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
47
- const data = {
48
- id: 'what',
49
- };
50
- const testEntity = new SimpleTestEntity_1.SimpleTestEntity({
51
- viewerContext,
52
- id: 'what',
53
- databaseFields: data,
54
- selectedFields: data,
55
- });
56
- (0, globals_1.expect)(SimpleTestEntity_1.SimpleTestEntity.updaterWithAuthorizationResults(testEntity)).toBeInstanceOf(AuthorizationResultBasedEntityMutator_1.AuthorizationResultBasedUpdateMutator);
57
- });
58
- });
59
- (0, globals_1.describe)('deleter', () => {
60
- (0, globals_1.it)('creates a new EnforcingEntityDeleter', () => {
61
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
62
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
63
- const data = {
64
- id: 'what',
65
- };
66
- const testEntity = new SimpleTestEntity_1.SimpleTestEntity({
67
- viewerContext,
68
- id: 'what',
69
- databaseFields: data,
70
- selectedFields: data,
71
- });
72
- (0, globals_1.expect)(SimpleTestEntity_1.SimpleTestEntity.deleter(testEntity)).toBeInstanceOf(EnforcingEntityDeleter_1.EnforcingEntityDeleter);
73
- });
74
- });
75
- (0, globals_1.describe)('deleterWithAuthorizationResults', () => {
76
- (0, globals_1.it)('creates a new AuthorizationResultBasedDeleteMutator', () => {
77
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
78
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
79
- const data = {
80
- id: 'what',
81
- };
82
- const testEntity = new SimpleTestEntity_1.SimpleTestEntity({
83
- viewerContext,
84
- id: 'what',
85
- databaseFields: data,
86
- selectedFields: data,
87
- });
88
- (0, globals_1.expect)(SimpleTestEntity_1.SimpleTestEntity.deleterWithAuthorizationResults(testEntity)).toBeInstanceOf(AuthorizationResultBasedEntityMutator_1.AuthorizationResultBasedDeleteMutator);
89
- });
90
- });
91
- });
92
- //# sourceMappingURL=Entity-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Entity-test.js","sourceRoot":"","sources":["../../../src/__tests__/Entity-test.ts"],"names":[],"mappings":";;AAAA,2CAAqD;AAErD,oGAIkD;AAClD,sEAAmE;AACnE,sEAAmE;AACnE,sEAAmE;AACnE,sCAAmC;AACnC,oDAAiD;AACjD,iFAA8E;AAC9E,2HAAwH;AAExH,IAAA,kBAAQ,EAAC,eAAM,EAAE,GAAG,EAAE;IACpB,IAAA,kBAAQ,EAAC,SAAS,EAAE,GAAG,EAAE;QACvB,IAAA,YAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,IAAA,gBAAM,EAAC,mCAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,+CAAsB,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,kBAAQ,EAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,IAAA,YAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,IAAA,gBAAM,EAAC,mCAAgB,CAAC,+BAA+B,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CACpF,6EAAqC,CACtC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,kBAAQ,EAAC,SAAS,EAAE,GAAG,EAAE;QACvB,IAAA,YAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,MAAM;aACX,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,mCAAgB,CAAC;gBACtC,aAAa;gBACb,EAAE,EAAE,MAAM;gBACV,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,IAAA,gBAAM,EAAC,mCAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,+CAAsB,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,kBAAQ,EAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,IAAA,YAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,MAAM;aACX,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,mCAAgB,CAAC;gBACtC,aAAa;gBACb,EAAE,EAAE,MAAM;gBACV,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,IAAA,gBAAM,EAAC,mCAAgB,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CACjF,6EAAqC,CACtC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,kBAAQ,EAAC,SAAS,EAAE,GAAG,EAAE;QACvB,IAAA,YAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,MAAM;aACX,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,mCAAgB,CAAC;gBACtC,aAAa;gBACb,EAAE,EAAE,MAAM;gBACV,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,IAAA,gBAAM,EAAC,mCAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,+CAAsB,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,kBAAQ,EAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,IAAA,YAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,MAAM;aACX,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,mCAAgB,CAAC;gBACtC,aAAa;gBACb,EAAE,EAAE,MAAM;gBACV,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,IAAA,gBAAM,EAAC,mCAAgB,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CACjF,6EAAqC,CACtC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const AuthorizationResultBasedEntityAssociationLoader_1 = require("../AuthorizationResultBasedEntityAssociationLoader");
5
- const EnforcingEntityAssociationLoader_1 = require("../EnforcingEntityAssociationLoader");
6
- const EntityAssociationLoader_1 = require("../EntityAssociationLoader");
7
- const ViewerContext_1 = require("../ViewerContext");
8
- const SimpleTestEntity_1 = require("../utils/__testfixtures__/SimpleTestEntity");
9
- const createUnitTestEntityCompanionProvider_1 = require("../utils/__testfixtures__/createUnitTestEntityCompanionProvider");
10
- (0, globals_1.describe)(EntityAssociationLoader_1.EntityAssociationLoader, () => {
11
- (0, globals_1.describe)('enforcing', () => {
12
- (0, globals_1.it)('creates a new EnforcingEntityLoader', async () => {
13
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
14
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
15
- const testEntity = await SimpleTestEntity_1.SimpleTestEntity.creator(viewerContext).createAsync();
16
- (0, globals_1.expect)(testEntity.associationLoader()).toBeInstanceOf(EnforcingEntityAssociationLoader_1.EnforcingEntityAssociationLoader);
17
- });
18
- });
19
- (0, globals_1.describe)('withAuthorizationResults', () => {
20
- (0, globals_1.it)('creates a new AuthorizationResultBasedEntityAssociationLoader', async () => {
21
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
22
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
23
- const testEntity = await SimpleTestEntity_1.SimpleTestEntity.creator(viewerContext).createAsync();
24
- (0, globals_1.expect)(testEntity.associationLoaderWithAuthorizationResults()).toBeInstanceOf(AuthorizationResultBasedEntityAssociationLoader_1.AuthorizationResultBasedEntityAssociationLoader);
25
- });
26
- });
27
- });
28
- //# sourceMappingURL=EntityAssociationLoader-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityAssociationLoader-test.js","sourceRoot":"","sources":["../../../src/__tests__/EntityAssociationLoader-test.ts"],"names":[],"mappings":";;AAAA,2CAAqD;AAErD,wHAAqH;AACrH,0FAAuF;AACvF,wEAAqE;AACrE,oDAAiD;AACjD,iFAA8E;AAC9E,2HAAwH;AAExH,IAAA,kBAAQ,EAAC,iDAAuB,EAAE,GAAG,EAAE;IACrC,IAAA,kBAAQ,EAAC,WAAW,EAAE,GAAG,EAAE;QACzB,IAAA,YAAE,EAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,MAAM,mCAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/E,IAAA,gBAAM,EAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,cAAc,CAAC,mEAAgC,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,kBAAQ,EAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,IAAA,YAAE,EAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,MAAM,mCAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/E,IAAA,gBAAM,EAAC,UAAU,CAAC,yCAAyC,EAAE,CAAC,CAAC,cAAc,CAC3E,iGAA+C,CAChD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,111 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const results_1 = require("@expo/results");
4
- const globals_1 = require("@jest/globals");
5
- const uuid_1 = require("uuid");
6
- const Entity_1 = require("../Entity");
7
- const EntityConfiguration_1 = require("../EntityConfiguration");
8
- const EntityFields_1 = require("../EntityFields");
9
- const EntityPrivacyPolicy_1 = require("../EntityPrivacyPolicy");
10
- const ViewerContext_1 = require("../ViewerContext");
11
- const entityUtils_1 = require("../entityUtils");
12
- const EntityNotAuthorizedError_1 = require("../errors/EntityNotAuthorizedError");
13
- const AlwaysAllowPrivacyPolicyRule_1 = require("../rules/AlwaysAllowPrivacyPolicyRule");
14
- const AlwaysDenyPrivacyPolicyRule_1 = require("../rules/AlwaysDenyPrivacyPolicyRule");
15
- const PrivacyPolicyRule_1 = require("../rules/PrivacyPolicyRule");
16
- const createUnitTestEntityCompanionProvider_1 = require("../utils/__testfixtures__/createUnitTestEntityCompanionProvider");
17
- class TestUserViewerContext extends ViewerContext_1.ViewerContext {
18
- userID;
19
- constructor(entityCompanionProvider, userID) {
20
- super(entityCompanionProvider);
21
- this.userID = userID;
22
- }
23
- getUserID() {
24
- return this.userID;
25
- }
26
- }
27
- class BlahEntity extends Entity_1.Entity {
28
- static defineCompanionDefinition() {
29
- return {
30
- entityClass: BlahEntity,
31
- entityConfiguration: new EntityConfiguration_1.EntityConfiguration({
32
- idField: 'id',
33
- tableName: 'blah_table',
34
- schema: {
35
- id: new EntityFields_1.UUIDField({
36
- columnName: 'id',
37
- cache: true,
38
- }),
39
- ownerID: new EntityFields_1.UUIDField({
40
- columnName: 'owner_id',
41
- }),
42
- },
43
- databaseAdapterFlavor: 'postgres',
44
- cacheAdapterFlavor: 'redis',
45
- }),
46
- privacyPolicyClass: BlahEntityPrivacyPolicy,
47
- };
48
- }
49
- }
50
- class DenyIfNotOwnerPrivacyPolicyRule extends PrivacyPolicyRule_1.PrivacyPolicyRule {
51
- async evaluateAsync(viewerContext, _queryContext, _evaluationContext, entity) {
52
- if (viewerContext.getUserID() === entity.getField('ownerID')) {
53
- return PrivacyPolicyRule_1.RuleEvaluationResult.SKIP;
54
- }
55
- return PrivacyPolicyRule_1.RuleEvaluationResult.DENY;
56
- }
57
- }
58
- class BlahEntityPrivacyPolicy extends EntityPrivacyPolicy_1.EntityPrivacyPolicy {
59
- createRules = [
60
- new DenyIfNotOwnerPrivacyPolicyRule(),
61
- new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
62
- ];
63
- readRules = [
64
- new DenyIfNotOwnerPrivacyPolicyRule(),
65
- new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
66
- ];
67
- updateRules = [
68
- new DenyIfNotOwnerPrivacyPolicyRule(),
69
- new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
70
- ];
71
- deleteRules = [
72
- new AlwaysDenyPrivacyPolicyRule_1.AlwaysDenyPrivacyPolicyRule(),
73
- ];
74
- }
75
- (0, globals_1.it)('runs through a common workflow', async () => {
76
- // will be one entity companion provider for each request, so
77
- // share amongst all VCs created in that request
78
- const entityCompanionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
79
- const vc1 = new TestUserViewerContext(entityCompanionProvider, (0, uuid_1.v4)());
80
- const vc2 = new TestUserViewerContext(entityCompanionProvider, (0, uuid_1.v4)());
81
- const blahOwner1 = await (0, results_1.enforceAsyncResult)(BlahEntity.creatorWithAuthorizationResults(vc1)
82
- .setField('ownerID', vc1.getUserID())
83
- .createAsync());
84
- await (0, results_1.enforceAsyncResult)(BlahEntity.creatorWithAuthorizationResults(vc1)
85
- .setField('ownerID', vc1.getUserID())
86
- .createAsync());
87
- const blahOwner2 = await (0, results_1.enforceAsyncResult)(BlahEntity.creatorWithAuthorizationResults(vc2)
88
- .setField('ownerID', vc2.getUserID())
89
- .createAsync());
90
- // sanity check created objects
91
- (0, globals_1.expect)(blahOwner1.getField('ownerID')).toEqual(vc1.getUserID());
92
- (0, globals_1.expect)(blahOwner2.getField('ownerID')).toEqual(vc2.getUserID());
93
- // check that two people can't read each others data
94
- await (0, globals_1.expect)((0, results_1.enforceAsyncResult)(BlahEntity.loaderWithAuthorizationResults(vc1).loadByIDAsync(blahOwner2.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.EntityNotAuthorizedError);
95
- await (0, globals_1.expect)((0, results_1.enforceAsyncResult)(BlahEntity.loaderWithAuthorizationResults(vc2).loadByIDAsync(blahOwner1.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.EntityNotAuthorizedError);
96
- // check that all of owner 1's objects can be loaded
97
- const results = await (0, entityUtils_1.enforceResultsAsync)(BlahEntity.loaderWithAuthorizationResults(vc1).loadManyByFieldEqualingAsync('ownerID', vc1.getUserID()));
98
- (0, globals_1.expect)(results).toHaveLength(2);
99
- // check that two people can't create objects owned by others
100
- await (0, globals_1.expect)((0, results_1.enforceAsyncResult)(BlahEntity.creatorWithAuthorizationResults(vc2)
101
- .setField('ownerID', blahOwner1.getID())
102
- .createAsync())).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.EntityNotAuthorizedError);
103
- // check that empty load many returns nothing
104
- const results2 = await BlahEntity.loaderWithAuthorizationResults(vc1).loadManyByFieldEqualingManyAsync('ownerID', []);
105
- for (const value in results2.values) {
106
- (0, globals_1.expect)(value).toHaveLength(0);
107
- }
108
- // check that the user can't delete their own data (as specified by privacy rules)
109
- await (0, globals_1.expect)((0, results_1.enforceAsyncResult)(BlahEntity.deleterWithAuthorizationResults(blahOwner2).deleteAsync())).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.EntityNotAuthorizedError);
110
- });
111
- //# sourceMappingURL=EntityCommonUseCases-test.js.map