@expo/entity 0.46.0 → 0.48.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 (215) 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 -2
  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/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.d.ts +0 -1
  27. package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js +0 -240
  28. package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js.map +0 -1
  29. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.d.ts +0 -26
  30. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js +0 -109
  31. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js.map +0 -1
  32. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.d.ts +0 -1
  33. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.js +0 -590
  34. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.js.map +0 -1
  35. package/build/src/__tests__/ComposedCacheAdapter-test.d.ts +0 -1
  36. package/build/src/__tests__/ComposedCacheAdapter-test.js +0 -259
  37. package/build/src/__tests__/ComposedCacheAdapter-test.js.map +0 -1
  38. package/build/src/__tests__/ComposedSecondaryEntityCache-test.d.ts +0 -1
  39. package/build/src/__tests__/ComposedSecondaryEntityCache-test.js +0 -67
  40. package/build/src/__tests__/ComposedSecondaryEntityCache-test.js.map +0 -1
  41. package/build/src/__tests__/EnforcingEntityAssociationLoader-test.d.ts +0 -1
  42. package/build/src/__tests__/EnforcingEntityAssociationLoader-test.js +0 -113
  43. package/build/src/__tests__/EnforcingEntityAssociationLoader-test.js.map +0 -1
  44. package/build/src/__tests__/EnforcingEntityLoader-test.d.ts +0 -1
  45. package/build/src/__tests__/EnforcingEntityLoader-test.js +0 -316
  46. package/build/src/__tests__/EnforcingEntityLoader-test.js.map +0 -1
  47. package/build/src/__tests__/Entity-test.d.ts +0 -1
  48. package/build/src/__tests__/Entity-test.js +0 -92
  49. package/build/src/__tests__/Entity-test.js.map +0 -1
  50. package/build/src/__tests__/EntityAssociationLoader-test.d.ts +0 -1
  51. package/build/src/__tests__/EntityAssociationLoader-test.js +0 -28
  52. package/build/src/__tests__/EntityAssociationLoader-test.js.map +0 -1
  53. package/build/src/__tests__/EntityCommonUseCases-test.d.ts +0 -1
  54. package/build/src/__tests__/EntityCommonUseCases-test.js +0 -111
  55. package/build/src/__tests__/EntityCommonUseCases-test.js.map +0 -1
  56. package/build/src/__tests__/EntityCompanion-test.d.ts +0 -1
  57. package/build/src/__tests__/EntityCompanion-test.js +0 -42
  58. package/build/src/__tests__/EntityCompanion-test.js.map +0 -1
  59. package/build/src/__tests__/EntityCompanionProvider-test.d.ts +0 -1
  60. package/build/src/__tests__/EntityCompanionProvider-test.js +0 -53
  61. package/build/src/__tests__/EntityCompanionProvider-test.js.map +0 -1
  62. package/build/src/__tests__/EntityConfiguration-test.d.ts +0 -1
  63. package/build/src/__tests__/EntityConfiguration-test.js +0 -164
  64. package/build/src/__tests__/EntityConfiguration-test.js.map +0 -1
  65. package/build/src/__tests__/EntityDatabaseAdapter-test.d.ts +0 -1
  66. package/build/src/__tests__/EntityDatabaseAdapter-test.js +0 -189
  67. package/build/src/__tests__/EntityDatabaseAdapter-test.js.map +0 -1
  68. package/build/src/__tests__/EntityEdges-test.d.ts +0 -1
  69. package/build/src/__tests__/EntityEdges-test.js +0 -680
  70. package/build/src/__tests__/EntityEdges-test.js.map +0 -1
  71. package/build/src/__tests__/EntityFields-test.d.ts +0 -1
  72. package/build/src/__tests__/EntityFields-test.js +0 -61
  73. package/build/src/__tests__/EntityFields-test.js.map +0 -1
  74. package/build/src/__tests__/EntityLoader-test.d.ts +0 -1
  75. package/build/src/__tests__/EntityLoader-test.js +0 -34
  76. package/build/src/__tests__/EntityLoader-test.js.map +0 -1
  77. package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +0 -1
  78. package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.js +0 -71
  79. package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +0 -1
  80. package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.d.ts +0 -1
  81. package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.js +0 -54
  82. package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.js.map +0 -1
  83. package/build/src/__tests__/EntityMutator-test.d.ts +0 -1
  84. package/build/src/__tests__/EntityMutator-test.js +0 -721
  85. package/build/src/__tests__/EntityMutator-test.js.map +0 -1
  86. package/build/src/__tests__/EntityPrivacyPolicy-test.d.ts +0 -1
  87. package/build/src/__tests__/EntityPrivacyPolicy-test.js +0 -429
  88. package/build/src/__tests__/EntityPrivacyPolicy-test.js.map +0 -1
  89. package/build/src/__tests__/EntityQueryContext-test.d.ts +0 -1
  90. package/build/src/__tests__/EntityQueryContext-test.js +0 -181
  91. package/build/src/__tests__/EntityQueryContext-test.js.map +0 -1
  92. package/build/src/__tests__/EntitySecondaryCacheLoader-test.d.ts +0 -1
  93. package/build/src/__tests__/EntitySecondaryCacheLoader-test.js +0 -58
  94. package/build/src/__tests__/EntitySecondaryCacheLoader-test.js.map +0 -1
  95. package/build/src/__tests__/EntitySelfReferentialEdges-test.d.ts +0 -1
  96. package/build/src/__tests__/EntitySelfReferentialEdges-test.js +0 -196
  97. package/build/src/__tests__/EntitySelfReferentialEdges-test.js.map +0 -1
  98. package/build/src/__tests__/GenericEntityCacheAdapter-test.d.ts +0 -1
  99. package/build/src/__tests__/GenericEntityCacheAdapter-test.js +0 -95
  100. package/build/src/__tests__/GenericEntityCacheAdapter-test.js.map +0 -1
  101. package/build/src/__tests__/ReadonlyEntity-test.d.ts +0 -1
  102. package/build/src/__tests__/ReadonlyEntity-test.js +0 -209
  103. package/build/src/__tests__/ReadonlyEntity-test.js.map +0 -1
  104. package/build/src/__tests__/ViewerContext-test.d.ts +0 -1
  105. package/build/src/__tests__/ViewerContext-test.js +0 -28
  106. package/build/src/__tests__/ViewerContext-test.js.map +0 -1
  107. package/build/src/__tests__/ViewerScopedEntityCompanion-test.d.ts +0 -1
  108. package/build/src/__tests__/ViewerScopedEntityCompanion-test.js +0 -18
  109. package/build/src/__tests__/ViewerScopedEntityCompanion-test.js.map +0 -1
  110. package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.d.ts +0 -1
  111. package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.js +0 -18
  112. package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +0 -1
  113. package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.d.ts +0 -1
  114. package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.js +0 -21
  115. package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +0 -1
  116. package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.d.ts +0 -1
  117. package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.js +0 -20
  118. package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +0 -1
  119. package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.d.ts +0 -1
  120. package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +0 -121
  121. package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +0 -1
  122. package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.d.ts +0 -1
  123. package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +0 -119
  124. package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +0 -1
  125. package/build/src/__tests__/entityUtils-test.d.ts +0 -1
  126. package/build/src/__tests__/entityUtils-test.js +0 -88
  127. package/build/src/__tests__/entityUtils-test.js.map +0 -1
  128. package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.d.ts +0 -1
  129. package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.js +0 -21
  130. package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.js.map +0 -1
  131. package/build/src/internal/__tests__/CompositeFieldHolder-test.d.ts +0 -1
  132. package/build/src/internal/__tests__/CompositeFieldHolder-test.js +0 -25
  133. package/build/src/internal/__tests__/CompositeFieldHolder-test.js.map +0 -1
  134. package/build/src/internal/__tests__/CompositeFieldValueMap-test.d.ts +0 -1
  135. package/build/src/internal/__tests__/CompositeFieldValueMap-test.js +0 -40
  136. package/build/src/internal/__tests__/CompositeFieldValueMap-test.js.map +0 -1
  137. package/build/src/internal/__tests__/EntityDataManager-test.d.ts +0 -1
  138. package/build/src/internal/__tests__/EntityDataManager-test.js +0 -666
  139. package/build/src/internal/__tests__/EntityDataManager-test.js.map +0 -1
  140. package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.d.ts +0 -1
  141. package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.js +0 -135
  142. package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.js.map +0 -1
  143. package/build/src/internal/__tests__/ReadThroughEntityCache-test.d.ts +0 -1
  144. package/build/src/internal/__tests__/ReadThroughEntityCache-test.js +0 -217
  145. package/build/src/internal/__tests__/ReadThroughEntityCache-test.js.map +0 -1
  146. package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.d.ts +0 -1
  147. package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +0 -18
  148. package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +0 -1
  149. package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.d.ts +0 -1
  150. package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +0 -18
  151. package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +0 -1
  152. package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.d.ts +0 -1
  153. package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +0 -18
  154. package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +0 -1
  155. package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.d.ts +0 -28
  156. package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.js +0 -53
  157. package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.js.map +0 -1
  158. package/build/src/utils/__testfixtures__/SimpleTestEntity.d.ts +0 -20
  159. package/build/src/utils/__testfixtures__/SimpleTestEntity.js +0 -46
  160. package/build/src/utils/__testfixtures__/SimpleTestEntity.js.map +0 -1
  161. package/build/src/utils/__testfixtures__/StubCacheAdapter.d.ts +0 -29
  162. package/build/src/utils/__testfixtures__/StubCacheAdapter.js +0 -103
  163. package/build/src/utils/__testfixtures__/StubCacheAdapter.js.map +0 -1
  164. package/build/src/utils/__testfixtures__/StubDatabaseAdapter.d.ts +0 -26
  165. package/build/src/utils/__testfixtures__/StubDatabaseAdapter.js +0 -173
  166. package/build/src/utils/__testfixtures__/StubDatabaseAdapter.js.map +0 -1
  167. package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.d.ts +0 -7
  168. package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.js +0 -12
  169. package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.js.map +0 -1
  170. package/build/src/utils/__testfixtures__/StubQueryContextProvider.d.ts +0 -7
  171. package/build/src/utils/__testfixtures__/StubQueryContextProvider.js +0 -17
  172. package/build/src/utils/__testfixtures__/StubQueryContextProvider.js.map +0 -1
  173. package/build/src/utils/__testfixtures__/TSMockitoExtensions.d.ts +0 -9
  174. package/build/src/utils/__testfixtures__/TSMockitoExtensions.js +0 -65
  175. package/build/src/utils/__testfixtures__/TSMockitoExtensions.js.map +0 -1
  176. package/build/src/utils/__testfixtures__/TestEntity.d.ts +0 -30
  177. package/build/src/utils/__testfixtures__/TestEntity.js +0 -96
  178. package/build/src/utils/__testfixtures__/TestEntity.js.map +0 -1
  179. package/build/src/utils/__testfixtures__/TestEntity2.d.ts +0 -20
  180. package/build/src/utils/__testfixtures__/TestEntity2.js +0 -49
  181. package/build/src/utils/__testfixtures__/TestEntity2.js.map +0 -1
  182. package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.d.ts +0 -36
  183. package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.js +0 -80
  184. package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.js.map +0 -1
  185. package/build/src/utils/__testfixtures__/TestViewerContext.d.ts +0 -3
  186. package/build/src/utils/__testfixtures__/TestViewerContext.js +0 -8
  187. package/build/src/utils/__testfixtures__/TestViewerContext.js.map +0 -1
  188. package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.d.ts +0 -7
  189. package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.js +0 -33
  190. package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.js.map +0 -1
  191. package/build/src/utils/__testfixtures__/describeFieldTestCase.d.ts +0 -2
  192. package/build/src/utils/__testfixtures__/describeFieldTestCase.js +0 -19
  193. package/build/src/utils/__testfixtures__/describeFieldTestCase.js.map +0 -1
  194. package/build/src/utils/__tests__/EntityCreationUtils-test.d.ts +0 -1
  195. package/build/src/utils/__tests__/EntityCreationUtils-test.js +0 -144
  196. package/build/src/utils/__tests__/EntityCreationUtils-test.js.map +0 -1
  197. package/build/src/utils/__tests__/EntityPrivacyUtils-test.d.ts +0 -1
  198. package/build/src/utils/__tests__/EntityPrivacyUtils-test.js +0 -460
  199. package/build/src/utils/__tests__/EntityPrivacyUtils-test.js.map +0 -1
  200. package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.d.ts +0 -1
  201. package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js +0 -180
  202. package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js.map +0 -1
  203. package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.d.ts +0 -1
  204. package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js +0 -27
  205. package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js.map +0 -1
  206. package/build/src/utils/collections/__tests__/SerializableKeyMap-test.d.ts +0 -5
  207. package/build/src/utils/collections/__tests__/SerializableKeyMap-test.js +0 -99
  208. package/build/src/utils/collections/__tests__/SerializableKeyMap-test.js.map +0 -1
  209. package/build/src/utils/collections/__tests__/maps-test.d.ts +0 -1
  210. package/build/src/utils/collections/__tests__/maps-test.js +0 -121
  211. package/build/src/utils/collections/__tests__/maps-test.js.map +0 -1
  212. package/build/src/utils/collections/__tests__/sets-test.d.ts +0 -1
  213. package/build/src/utils/collections/__tests__/sets-test.js +0 -19
  214. package/build/src/utils/collections/__tests__/sets-test.js.map +0 -1
  215. 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":"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"}
@@ -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