@expo/entity 0.39.0 → 0.41.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 (175) hide show
  1. package/build/AuthorizationResultBasedEntityAssociationLoader.d.ts +99 -0
  2. package/build/AuthorizationResultBasedEntityAssociationLoader.js +122 -0
  3. package/build/AuthorizationResultBasedEntityAssociationLoader.js.map +1 -0
  4. package/build/AuthorizationResultBasedEntityLoader.d.ts +1 -1
  5. package/build/AuthorizationResultBasedEntityLoader.js.map +1 -1
  6. package/build/{EntityMutator.d.ts → AuthorizationResultBasedEntityMutator.d.ts} +5 -17
  7. package/build/{EntityMutator.js → AuthorizationResultBasedEntityMutator.js} +22 -48
  8. package/build/AuthorizationResultBasedEntityMutator.js.map +1 -0
  9. package/build/EnforcingEntityAssociationLoader.d.ts +79 -0
  10. package/build/EnforcingEntityAssociationLoader.js +62 -0
  11. package/build/EnforcingEntityAssociationLoader.js.map +1 -0
  12. package/build/EnforcingEntityCreator.d.ts +24 -0
  13. package/build/EnforcingEntityCreator.js +32 -0
  14. package/build/EnforcingEntityCreator.js.map +1 -0
  15. package/build/EnforcingEntityDeleter.d.ts +17 -0
  16. package/build/EnforcingEntityDeleter.js +22 -0
  17. package/build/EnforcingEntityDeleter.js.map +1 -0
  18. package/build/EnforcingEntityUpdater.d.ts +24 -0
  19. package/build/EnforcingEntityUpdater.js +32 -0
  20. package/build/EnforcingEntityUpdater.js.map +1 -0
  21. package/build/Entity.d.ts +26 -8
  22. package/build/Entity.js +38 -25
  23. package/build/Entity.js.map +1 -1
  24. package/build/EntityAssociationLoader.d.ts +12 -91
  25. package/build/EntityAssociationLoader.js +20 -126
  26. package/build/EntityAssociationLoader.js.map +1 -1
  27. package/build/EntityCreator.d.ts +27 -0
  28. package/build/EntityCreator.js +39 -0
  29. package/build/EntityCreator.js.map +1 -0
  30. package/build/EntityDeleter.d.ts +27 -0
  31. package/build/EntityDeleter.js +40 -0
  32. package/build/EntityDeleter.js.map +1 -0
  33. package/build/EntityLoader.d.ts +4 -14
  34. package/build/EntityLoader.js +7 -20
  35. package/build/EntityLoader.js.map +1 -1
  36. package/build/EntityLoaderFactory.d.ts +2 -2
  37. package/build/EntityLoaderFactory.js +4 -2
  38. package/build/EntityLoaderFactory.js.map +1 -1
  39. package/build/EntityMutatorFactory.d.ts +4 -4
  40. package/build/EntityMutatorFactory.js +4 -4
  41. package/build/EntityMutatorFactory.js.map +1 -1
  42. package/build/EntitySecondaryCacheLoader.d.ts +3 -3
  43. package/build/EntitySecondaryCacheLoader.js +1 -3
  44. package/build/EntitySecondaryCacheLoader.js.map +1 -1
  45. package/build/EntityUpdater.d.ts +27 -0
  46. package/build/EntityUpdater.js +40 -0
  47. package/build/EntityUpdater.js.map +1 -0
  48. package/build/ReadonlyEntity.d.ts +24 -5
  49. package/build/ReadonlyEntity.js +33 -7
  50. package/build/ReadonlyEntity.js.map +1 -1
  51. package/build/ViewerScopedEntityLoaderFactory.d.ts +2 -2
  52. package/build/ViewerScopedEntityLoaderFactory.js.map +1 -1
  53. package/build/ViewerScopedEntityMutatorFactory.d.ts +4 -4
  54. package/build/ViewerScopedEntityMutatorFactory.js.map +1 -1
  55. package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.d.ts +1 -0
  56. package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js +242 -0
  57. package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js.map +1 -0
  58. package/build/__tests__/{EntityLoader-constructor-test.js → AuthorizationResultBasedEntityLoader-constructor-test.js} +10 -10
  59. package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js.map +1 -0
  60. package/build/__tests__/AuthorizationResultBasedEntityLoader-test.d.ts +1 -0
  61. package/build/__tests__/AuthorizationResultBasedEntityLoader-test.js +401 -0
  62. package/build/__tests__/AuthorizationResultBasedEntityLoader-test.js.map +1 -0
  63. package/build/__tests__/EnforcingEntityAssociationLoader-test.d.ts +1 -0
  64. package/build/__tests__/EnforcingEntityAssociationLoader-test.js +115 -0
  65. package/build/__tests__/EnforcingEntityAssociationLoader-test.js.map +1 -0
  66. package/build/__tests__/Entity-test.js +63 -5
  67. package/build/__tests__/Entity-test.js.map +1 -1
  68. package/build/__tests__/EntityAssociationLoader-test.js +14 -184
  69. package/build/__tests__/EntityAssociationLoader-test.js.map +1 -1
  70. package/build/__tests__/EntityCommonUseCases-test.js +34 -20
  71. package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
  72. package/build/__tests__/EntityCompanion-test.js +17 -7
  73. package/build/__tests__/EntityCompanion-test.js.map +1 -1
  74. package/build/__tests__/EntityEdges-test.js +57 -71
  75. package/build/__tests__/EntityEdges-test.js.map +1 -1
  76. package/build/__tests__/EntityLoader-test.js +22 -386
  77. package/build/__tests__/EntityLoader-test.js.map +1 -1
  78. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +6 -9
  79. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -1
  80. package/build/__tests__/EntityMutator-test.js +67 -70
  81. package/build/__tests__/EntityMutator-test.js.map +1 -1
  82. package/build/__tests__/EntityPrivacyPolicy-test.js +17 -7
  83. package/build/__tests__/EntityPrivacyPolicy-test.js.map +1 -1
  84. package/build/__tests__/EntitySecondaryCacheLoader-test.js +7 -7
  85. package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
  86. package/build/__tests__/EntitySelfReferentialEdges-test.js +47 -81
  87. package/build/__tests__/EntitySelfReferentialEdges-test.js.map +1 -1
  88. package/build/__tests__/ReadonlyEntity-test.js +40 -7
  89. package/build/__tests__/ReadonlyEntity-test.js.map +1 -1
  90. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +6 -10
  91. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -1
  92. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +10 -22
  93. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -1
  94. package/build/errors/EntityCacheAdapterError.js +17 -7
  95. package/build/errors/EntityCacheAdapterError.js.map +1 -1
  96. package/build/errors/EntityDatabaseAdapterError.js +17 -7
  97. package/build/errors/EntityDatabaseAdapterError.js.map +1 -1
  98. package/build/errors/EntityInvalidFieldValueError.js +17 -7
  99. package/build/errors/EntityInvalidFieldValueError.js.map +1 -1
  100. package/build/errors/EntityNotAuthorizedError.js +17 -7
  101. package/build/errors/EntityNotAuthorizedError.js.map +1 -1
  102. package/build/errors/EntityNotFoundError.js +17 -7
  103. package/build/errors/EntityNotFoundError.js.map +1 -1
  104. package/build/index.d.ts +19 -11
  105. package/build/index.js +24 -7
  106. package/build/index.js.map +1 -1
  107. package/build/internal/__tests__/EntityDataManager-test.js +42 -32
  108. package/build/internal/__tests__/EntityDataManager-test.js.map +1 -1
  109. package/build/internal/__tests__/ReadThroughEntityCache-test.js +17 -7
  110. package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +1 -1
  111. package/build/rules/AlwaysAllowPrivacyPolicyRule.js +17 -7
  112. package/build/rules/AlwaysAllowPrivacyPolicyRule.js.map +1 -1
  113. package/build/rules/AlwaysDenyPrivacyPolicyRule.js +17 -7
  114. package/build/rules/AlwaysDenyPrivacyPolicyRule.js.map +1 -1
  115. package/build/rules/AlwaysSkipPrivacyPolicyRule.js +17 -7
  116. package/build/rules/AlwaysSkipPrivacyPolicyRule.js.map +1 -1
  117. package/build/utils/EntityPrivacyUtils.js +4 -8
  118. package/build/utils/EntityPrivacyUtils.js.map +1 -1
  119. package/build/utils/__tests__/EntityPrivacyUtils-test.js +38 -28
  120. package/build/utils/__tests__/EntityPrivacyUtils-test.js.map +1 -1
  121. package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js +5 -5
  122. package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js.map +1 -1
  123. package/build/utils/testing/StubDatabaseAdapter.js +17 -7
  124. package/build/utils/testing/StubDatabaseAdapter.js.map +1 -1
  125. package/build/utils/testing/StubQueryContextProvider.d.ts +1 -3
  126. package/build/utils/testing/StubQueryContextProvider.js +1 -3
  127. package/build/utils/testing/StubQueryContextProvider.js.map +1 -1
  128. package/build/utils/testing/createUnitTestEntityCompanionProvider.js +2 -1
  129. package/build/utils/testing/createUnitTestEntityCompanionProvider.js.map +1 -1
  130. package/package.json +19 -3
  131. package/src/AuthorizationResultBasedEntityAssociationLoader.ts +490 -0
  132. package/src/AuthorizationResultBasedEntityLoader.ts +1 -1
  133. package/src/{EntityMutator.ts → AuthorizationResultBasedEntityMutator.ts} +62 -58
  134. package/src/EnforcingEntityAssociationLoader.ts +390 -0
  135. package/src/EnforcingEntityCreator.ts +55 -0
  136. package/src/EnforcingEntityDeleter.ts +44 -0
  137. package/src/EnforcingEntityUpdater.ts +55 -0
  138. package/src/Entity.ts +140 -29
  139. package/src/EntityAssociationLoader.ts +38 -495
  140. package/src/EntityCreator.ts +73 -0
  141. package/src/EntityDeleter.ts +73 -0
  142. package/src/EntityLoader.ts +10 -49
  143. package/src/EntityLoaderFactory.ts +20 -3
  144. package/src/EntityMutatorFactory.ts +32 -7
  145. package/src/EntitySecondaryCacheLoader.ts +5 -7
  146. package/src/EntityUpdater.ts +73 -0
  147. package/src/ReadonlyEntity.ts +121 -7
  148. package/src/ViewerScopedEntityLoaderFactory.ts +9 -2
  149. package/src/ViewerScopedEntityMutatorFactory.ts +29 -4
  150. package/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.ts +323 -0
  151. package/src/__tests__/{EntityLoader-constructor-test.ts → AuthorizationResultBasedEntityLoader-constructor-test.ts} +16 -9
  152. package/src/__tests__/AuthorizationResultBasedEntityLoader-test.ts +730 -0
  153. package/src/__tests__/EnforcingEntityAssociationLoader-test.ts +253 -0
  154. package/src/__tests__/Entity-test.ts +77 -5
  155. package/src/__tests__/EntityAssociationLoader-test.ts +15 -260
  156. package/src/__tests__/EntityCommonUseCases-test.ts +24 -15
  157. package/src/__tests__/EntityEdges-test.ts +44 -64
  158. package/src/__tests__/EntityLoader-test.ts +29 -681
  159. package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +8 -9
  160. package/src/__tests__/EntityMutator-test.ts +116 -103
  161. package/src/__tests__/EntitySecondaryCacheLoader-test.ts +7 -7
  162. package/src/__tests__/EntitySelfReferentialEdges-test.ts +65 -81
  163. package/src/__tests__/ReadonlyEntity-test.ts +47 -7
  164. package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +15 -15
  165. package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +19 -22
  166. package/src/index.ts +19 -11
  167. package/src/internal/__tests__/EntityDataManager-test.ts +25 -25
  168. package/src/utils/EntityPrivacyUtils.ts +10 -13
  169. package/src/utils/__tests__/EntityPrivacyUtils-test.ts +21 -23
  170. package/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts +5 -5
  171. package/src/utils/testing/StubQueryContextProvider.ts +1 -3
  172. package/src/utils/testing/createUnitTestEntityCompanionProvider.ts +3 -1
  173. package/build/EntityMutator.js.map +0 -1
  174. package/build/__tests__/EntityLoader-constructor-test.js.map +0 -1
  175. /package/build/__tests__/{EntityLoader-constructor-test.d.ts → AuthorizationResultBasedEntityLoader-constructor-test.d.ts} +0 -0
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const results_1 = require("@expo/results");
7
+ const ts_mockito_1 = require("ts-mockito");
8
+ const AuthorizationResultBasedEntityAssociationLoader_1 = __importDefault(require("../AuthorizationResultBasedEntityAssociationLoader"));
9
+ const EnforcingEntityAssociationLoader_1 = __importDefault(require("../EnforcingEntityAssociationLoader"));
10
+ describe(EnforcingEntityAssociationLoader_1.default, () => {
11
+ describe('loadAssociatedEntityAsync', () => {
12
+ it('throws when result is unsuccessful', async () => {
13
+ const nonEnforcingEntityAssociationLoaderMock = (0, ts_mockito_1.mock)();
14
+ const rejection = new Error();
15
+ (0, ts_mockito_1.when)(nonEnforcingEntityAssociationLoaderMock.loadAssociatedEntityAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
16
+ const nonEnforcingEntityAssociationLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityAssociationLoaderMock);
17
+ const enforcingEntityAssociationLoader = new EnforcingEntityAssociationLoader_1.default(nonEnforcingEntityAssociationLoader);
18
+ await expect(enforcingEntityAssociationLoader.loadAssociatedEntityAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
19
+ });
20
+ it('returns value when result is successful', async () => {
21
+ const nonEnforcingEntityAssociationLoaderMock = (0, ts_mockito_1.mock)();
22
+ const resolved = {};
23
+ (0, ts_mockito_1.when)(nonEnforcingEntityAssociationLoaderMock.loadAssociatedEntityAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
24
+ const nonEnforcingEntityAssociationLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityAssociationLoaderMock);
25
+ const enforcingEntityLoader = new EnforcingEntityAssociationLoader_1.default(nonEnforcingEntityAssociationLoader);
26
+ await expect(enforcingEntityLoader.loadAssociatedEntityAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
27
+ });
28
+ });
29
+ describe('loadManyAssociatedEntitiesAsync', () => {
30
+ it('throws when result is unsuccessful', async () => {
31
+ const nonEnforcingEntityAssociationLoaderMock = (0, ts_mockito_1.mock)();
32
+ const rejection = new Error();
33
+ (0, ts_mockito_1.when)(nonEnforcingEntityAssociationLoaderMock.loadManyAssociatedEntitiesAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(rejection)]);
34
+ const nonEnforcingEntityAssociationLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityAssociationLoaderMock);
35
+ const enforcingEntityAssociationLoader = new EnforcingEntityAssociationLoader_1.default(nonEnforcingEntityAssociationLoader);
36
+ await expect(enforcingEntityAssociationLoader.loadManyAssociatedEntitiesAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
37
+ });
38
+ it('returns value when result is successful', async () => {
39
+ const nonEnforcingEntityAssociationLoaderMock = (0, ts_mockito_1.mock)();
40
+ const resolved = [];
41
+ (0, ts_mockito_1.when)(nonEnforcingEntityAssociationLoaderMock.loadManyAssociatedEntitiesAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(resolved)]);
42
+ const nonEnforcingEntityAssociationLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityAssociationLoaderMock);
43
+ const enforcingEntityLoader = new EnforcingEntityAssociationLoader_1.default(nonEnforcingEntityAssociationLoader);
44
+ await expect(enforcingEntityLoader.loadManyAssociatedEntitiesAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual([resolved]);
45
+ });
46
+ });
47
+ describe('loadAssociatedEntityByFieldEqualingAsync', () => {
48
+ it('throws when result is unsuccessful', async () => {
49
+ const nonEnforcingEntityAssociationLoaderMock = (0, ts_mockito_1.mock)();
50
+ const rejection = new Error();
51
+ (0, ts_mockito_1.when)(nonEnforcingEntityAssociationLoaderMock.loadAssociatedEntityByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
52
+ const nonEnforcingEntityAssociationLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityAssociationLoaderMock);
53
+ const enforcingEntityAssociationLoader = new EnforcingEntityAssociationLoader_1.default(nonEnforcingEntityAssociationLoader);
54
+ await expect(enforcingEntityAssociationLoader.loadAssociatedEntityByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
55
+ });
56
+ it('returns value when result is successful', async () => {
57
+ const nonEnforcingEntityAssociationLoaderMock = (0, ts_mockito_1.mock)();
58
+ const resolved = {};
59
+ (0, ts_mockito_1.when)(nonEnforcingEntityAssociationLoaderMock.loadAssociatedEntityByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
60
+ const nonEnforcingEntityAssociationLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityAssociationLoaderMock);
61
+ const enforcingEntityLoader = new EnforcingEntityAssociationLoader_1.default(nonEnforcingEntityAssociationLoader);
62
+ await expect(enforcingEntityLoader.loadAssociatedEntityByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
63
+ });
64
+ it('returns null when result is successful but null', async () => {
65
+ const nonEnforcingEntityAssociationLoaderMock = (0, ts_mockito_1.mock)();
66
+ const resolved = null;
67
+ (0, ts_mockito_1.when)(nonEnforcingEntityAssociationLoaderMock.loadAssociatedEntityByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(resolved);
68
+ const nonEnforcingEntityAssociationLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityAssociationLoaderMock);
69
+ const enforcingEntityLoader = new EnforcingEntityAssociationLoader_1.default(nonEnforcingEntityAssociationLoader);
70
+ await expect(enforcingEntityLoader.loadAssociatedEntityByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
71
+ });
72
+ });
73
+ describe('loadManyAssociatedEntitiesByFieldEqualingAsync', () => {
74
+ it('throws when result is unsuccessful', async () => {
75
+ const nonEnforcingEntityAssociationLoaderMock = (0, ts_mockito_1.mock)();
76
+ const rejection = new Error();
77
+ (0, ts_mockito_1.when)(nonEnforcingEntityAssociationLoaderMock.loadManyAssociatedEntitiesByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(rejection)]);
78
+ const nonEnforcingEntityAssociationLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityAssociationLoaderMock);
79
+ const enforcingEntityAssociationLoader = new EnforcingEntityAssociationLoader_1.default(nonEnforcingEntityAssociationLoader);
80
+ await expect(enforcingEntityAssociationLoader.loadManyAssociatedEntitiesByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
81
+ });
82
+ it('returns value when result is successful', async () => {
83
+ const nonEnforcingEntityAssociationLoaderMock = (0, ts_mockito_1.mock)();
84
+ const resolved = [];
85
+ (0, ts_mockito_1.when)(nonEnforcingEntityAssociationLoaderMock.loadManyAssociatedEntitiesByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(resolved)]);
86
+ const nonEnforcingEntityAssociationLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityAssociationLoaderMock);
87
+ const enforcingEntityLoader = new EnforcingEntityAssociationLoader_1.default(nonEnforcingEntityAssociationLoader);
88
+ await expect(enforcingEntityLoader.loadManyAssociatedEntitiesByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual([resolved]);
89
+ });
90
+ });
91
+ describe('loadAssociatedEntityThroughAsync', () => {
92
+ it('throws when result is unsuccessful', async () => {
93
+ const nonEnforcingEntityAssociationLoaderMock = (0, ts_mockito_1.mock)();
94
+ const rejection = new Error();
95
+ (0, ts_mockito_1.when)(nonEnforcingEntityAssociationLoaderMock.loadAssociatedEntityThroughAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
96
+ const nonEnforcingEntityAssociationLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityAssociationLoaderMock);
97
+ const enforcingEntityAssociationLoader = new EnforcingEntityAssociationLoader_1.default(nonEnforcingEntityAssociationLoader);
98
+ await expect(enforcingEntityAssociationLoader.loadAssociatedEntityThroughAsync((0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
99
+ });
100
+ it('returns value when result is successful', async () => {
101
+ const nonEnforcingEntityAssociationLoaderMock = (0, ts_mockito_1.mock)();
102
+ const resolved = {};
103
+ (0, ts_mockito_1.when)(nonEnforcingEntityAssociationLoaderMock.loadAssociatedEntityThroughAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
104
+ const nonEnforcingEntityAssociationLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityAssociationLoaderMock);
105
+ const enforcingEntityLoader = new EnforcingEntityAssociationLoader_1.default(nonEnforcingEntityAssociationLoader);
106
+ await expect(enforcingEntityLoader.loadAssociatedEntityThroughAsync((0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
107
+ });
108
+ });
109
+ it('has the same method names as AuthorizationResultBasedEntityAssociationLoader', () => {
110
+ const enforcingLoaderProperties = Object.getOwnPropertyNames(EnforcingEntityAssociationLoader_1.default.prototype);
111
+ const nonEnforcingLoaderProperties = Object.getOwnPropertyNames(AuthorizationResultBasedEntityAssociationLoader_1.default.prototype);
112
+ expect(enforcingLoaderProperties).toEqual(nonEnforcingLoaderProperties);
113
+ });
114
+ });
115
+ //# sourceMappingURL=EnforcingEntityAssociationLoader-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnforcingEntityAssociationLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EnforcingEntityAssociationLoader-test.ts"],"names":[],"mappings":"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"}
@@ -3,21 +3,79 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const AuthorizationResultBasedEntityMutator_1 = require("../AuthorizationResultBasedEntityMutator");
7
+ const EnforcingEntityCreator_1 = __importDefault(require("../EnforcingEntityCreator"));
8
+ const EnforcingEntityDeleter_1 = __importDefault(require("../EnforcingEntityDeleter"));
9
+ const EnforcingEntityUpdater_1 = __importDefault(require("../EnforcingEntityUpdater"));
6
10
  const Entity_1 = __importDefault(require("../Entity"));
7
- const EntityMutator_1 = require("../EntityMutator");
8
11
  const ViewerContext_1 = __importDefault(require("../ViewerContext"));
9
12
  const SimpleTestEntity_1 = __importDefault(require("../testfixtures/SimpleTestEntity"));
10
13
  const createUnitTestEntityCompanionProvider_1 = require("../utils/testing/createUnitTestEntityCompanionProvider");
11
14
  describe(Entity_1.default, () => {
12
15
  describe('creator', () => {
13
- it('creates a new CreateMutator', () => {
16
+ it('creates a new EnforcingEntityCreator', () => {
14
17
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
15
18
  const viewerContext = new ViewerContext_1.default(companionProvider);
16
- expect(SimpleTestEntity_1.default.creator(viewerContext)).toBeInstanceOf(EntityMutator_1.CreateMutator);
19
+ expect(SimpleTestEntity_1.default.creator(viewerContext)).toBeInstanceOf(EnforcingEntityCreator_1.default);
20
+ });
21
+ });
22
+ describe('creatorWithAuthorizationResults', () => {
23
+ it('creates a new AuthorizationResultBasedCreateMutator', () => {
24
+ const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
25
+ const viewerContext = new ViewerContext_1.default(companionProvider);
26
+ expect(SimpleTestEntity_1.default.creatorWithAuthorizationResults(viewerContext)).toBeInstanceOf(AuthorizationResultBasedEntityMutator_1.AuthorizationResultBasedCreateMutator);
17
27
  });
18
28
  });
19
29
  describe('updater', () => {
20
- it('creates a new UpdateMutator', () => {
30
+ it('creates a new EnforcingEntityUpdater', () => {
31
+ const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
32
+ const viewerContext = new ViewerContext_1.default(companionProvider);
33
+ const data = {
34
+ id: 'what',
35
+ };
36
+ const testEntity = new SimpleTestEntity_1.default({
37
+ viewerContext,
38
+ id: 'what',
39
+ databaseFields: data,
40
+ selectedFields: data,
41
+ });
42
+ expect(SimpleTestEntity_1.default.updater(testEntity)).toBeInstanceOf(EnforcingEntityUpdater_1.default);
43
+ });
44
+ });
45
+ describe('updaterWithAuthorizationResults', () => {
46
+ it('creates a new AuthorizationResultBasedUpdateMutator', () => {
47
+ const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
48
+ const viewerContext = new ViewerContext_1.default(companionProvider);
49
+ const data = {
50
+ id: 'what',
51
+ };
52
+ const testEntity = new SimpleTestEntity_1.default({
53
+ viewerContext,
54
+ id: 'what',
55
+ databaseFields: data,
56
+ selectedFields: data,
57
+ });
58
+ expect(SimpleTestEntity_1.default.updaterWithAuthorizationResults(testEntity)).toBeInstanceOf(AuthorizationResultBasedEntityMutator_1.AuthorizationResultBasedUpdateMutator);
59
+ });
60
+ });
61
+ describe('deleter', () => {
62
+ it('creates a new EnforcingEntityDeleter', () => {
63
+ const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
64
+ const viewerContext = new ViewerContext_1.default(companionProvider);
65
+ const data = {
66
+ id: 'what',
67
+ };
68
+ const testEntity = new SimpleTestEntity_1.default({
69
+ viewerContext,
70
+ id: 'what',
71
+ databaseFields: data,
72
+ selectedFields: data,
73
+ });
74
+ expect(SimpleTestEntity_1.default.deleter(testEntity)).toBeInstanceOf(EnforcingEntityDeleter_1.default);
75
+ });
76
+ });
77
+ describe('deleterWithAuthorizationResults', () => {
78
+ it('creates a new AuthorizationResultBasedDeleteMutator', () => {
21
79
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
22
80
  const viewerContext = new ViewerContext_1.default(companionProvider);
23
81
  const data = {
@@ -29,7 +87,7 @@ describe(Entity_1.default, () => {
29
87
  databaseFields: data,
30
88
  selectedFields: data,
31
89
  });
32
- expect(SimpleTestEntity_1.default.updater(testEntity)).toBeInstanceOf(EntityMutator_1.UpdateMutator);
90
+ expect(SimpleTestEntity_1.default.deleterWithAuthorizationResults(testEntity)).toBeInstanceOf(AuthorizationResultBasedEntityMutator_1.AuthorizationResultBasedDeleteMutator);
33
91
  });
34
92
  });
35
93
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Entity-test.js","sourceRoot":"","sources":["../../src/__tests__/Entity-test.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+B;AAC/B,oDAAgE;AAChE,qEAA6C;AAC7C,wFAAgE;AAChE,kHAA+G;AAE/G,QAAQ,CAAC,gBAAM,EAAE,GAAG,EAAE;IACpB,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,CAAC,0BAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,6BAAa,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,MAAM;aACX,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,0BAAgB,CAAC;gBACtC,aAAa;gBACb,EAAE,EAAE,MAAM;gBACV,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,MAAM,CAAC,0BAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,6BAAa,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Entity-test.js","sourceRoot":"","sources":["../../src/__tests__/Entity-test.ts"],"names":[],"mappings":"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"}
@@ -3,197 +3,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const results_1 = require("@expo/results");
7
- const uuid_1 = require("uuid");
6
+ const AuthorizationResultBasedEntityAssociationLoader_1 = __importDefault(require("../AuthorizationResultBasedEntityAssociationLoader"));
7
+ const EnforcingEntityAssociationLoader_1 = __importDefault(require("../EnforcingEntityAssociationLoader"));
8
8
  const EntityAssociationLoader_1 = __importDefault(require("../EntityAssociationLoader"));
9
- const entityUtils_1 = require("../entityUtils");
10
- const TestEntity_1 = __importDefault(require("../testfixtures/TestEntity"));
11
- const TestEntity2_1 = __importDefault(require("../testfixtures/TestEntity2"));
12
- const TestViewerContext_1 = __importDefault(require("../testfixtures/TestViewerContext"));
9
+ const ViewerContext_1 = __importDefault(require("../ViewerContext"));
10
+ const SimpleTestEntity_1 = __importDefault(require("../testfixtures/SimpleTestEntity"));
13
11
  const createUnitTestEntityCompanionProvider_1 = require("../utils/testing/createUnitTestEntityCompanionProvider");
14
12
  describe(EntityAssociationLoader_1.default, () => {
15
- describe('loadAssociatedEntityAsync', () => {
16
- it('loads associated entities by ID and correctly handles a null value', async () => {
13
+ describe('enforcing', () => {
14
+ it('creates a new EnforcingEntityLoader', async () => {
17
15
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
18
- const viewerContext = new TestViewerContext_1.default(companionProvider);
19
- const testOtherEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
20
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext)
21
- .setField('stringField', testOtherEntity.getID())
22
- .createAsync());
23
- const loadedOther = await (0, results_1.enforceAsyncResult)(testEntity.associationLoader().loadAssociatedEntityAsync('stringField', TestEntity_1.default));
24
- expect(loadedOther.getID()).toEqual(testOtherEntity.getID());
25
- const loadedOther2 = await (0, results_1.enforceAsyncResult)(testEntity.associationLoader().loadAssociatedEntityAsync('nullableField', TestEntity_1.default));
26
- expect(loadedOther2).toBeNull();
16
+ const viewerContext = new ViewerContext_1.default(companionProvider);
17
+ const testEntity = await SimpleTestEntity_1.default.creator(viewerContext).createAsync();
18
+ expect(testEntity.associationLoader()).toBeInstanceOf(EnforcingEntityAssociationLoader_1.default);
27
19
  });
28
20
  });
29
- describe('loadManyAssociatedEntitiesAsync', () => {
30
- it('loads many associated entities referencing this entity', async () => {
21
+ describe('withAuthorizationResults', () => {
22
+ it('creates a new AuthorizationResultBasedEntityAssociationLoader', async () => {
31
23
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
32
- const viewerContext = new TestViewerContext_1.default(companionProvider);
33
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
34
- const testOtherEntity1 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
35
- const testOtherEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
36
- const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity.associationLoader().loadManyAssociatedEntitiesAsync(TestEntity_1.default, 'stringField'));
37
- expect(loaded).toHaveLength(2);
38
- expect(loaded.find((e) => e.getID() === testOtherEntity1.getID())).not.toBeUndefined();
39
- expect(loaded.find((e) => e.getID() === testOtherEntity2.getID())).not.toBeUndefined();
40
- });
41
- });
42
- describe('loadAssociatedEntityByFieldEqualingAsync', () => {
43
- it('loads associated entity by field equaling', async () => {
44
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
45
- const viewerContext = new TestViewerContext_1.default(companionProvider);
46
- const testOtherEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
47
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext)
48
- .setField('stringField', testOtherEntity.getID())
49
- .createAsync());
50
- const loadedOtherResult = await testEntity
51
- .associationLoader()
52
- .loadAssociatedEntityByFieldEqualingAsync('stringField', TestEntity_1.default, 'customIdField');
53
- expect(loadedOtherResult?.enforceValue().getID()).toEqual(testOtherEntity.getID());
54
- });
55
- it('returns null when loading associated entities by field equaling a non existent association', async () => {
56
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
57
- const viewerContext = new TestViewerContext_1.default(companionProvider);
58
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', (0, uuid_1.v4)()).createAsync());
59
- const loadedOtherResult = await testEntity
60
- .associationLoader()
61
- .loadAssociatedEntityByFieldEqualingAsync('stringField', TestEntity_1.default, 'customIdField');
62
- expect(loadedOtherResult).toBeNull();
63
- });
64
- it('returns null when load-by field is null', async () => {
65
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
66
- const viewerContext = new TestViewerContext_1.default(companionProvider);
67
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', 'blah').createAsync());
68
- const loadedOtherResult = await testEntity
69
- .associationLoader()
70
- .loadAssociatedEntityByFieldEqualingAsync('nullableField', TestEntity_1.default, 'customIdField');
71
- expect(loadedOtherResult).toBeNull();
72
- });
73
- });
74
- describe('loadManyAssociatedEntitiesByFieldEqualingAsync', () => {
75
- it('loads many associated entities by field equaling', async () => {
76
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
77
- const viewerContext = new TestViewerContext_1.default(companionProvider);
78
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
79
- const testOtherEntity1 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
80
- const testOtherEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
81
- const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity
82
- .associationLoader()
83
- .loadManyAssociatedEntitiesByFieldEqualingAsync('customIdField', TestEntity_1.default, 'stringField'));
84
- expect(loaded).toHaveLength(2);
85
- expect(loaded.find((e) => e.getID() === testOtherEntity1.getID())).not.toBeUndefined();
86
- expect(loaded.find((e) => e.getID() === testOtherEntity2.getID())).not.toBeUndefined();
87
- });
88
- it('returns empty results when field being queried by is null', async () => {
89
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
90
- const viewerContext = new TestViewerContext_1.default(companionProvider);
91
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
92
- const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity
93
- .associationLoader()
94
- .loadManyAssociatedEntitiesByFieldEqualingAsync('nullableField', TestEntity_1.default, 'stringField'));
95
- expect(loaded).toHaveLength(0);
96
- });
97
- });
98
- describe('loadAssociatedEntityThroughAsync', () => {
99
- it('chain loads associated entities', async () => {
100
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
101
- const viewerContext = new TestViewerContext_1.default(companionProvider);
102
- const testEntity4 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
103
- const testEntity3 = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext)
104
- .setField('foreignKey', testEntity4.getID())
105
- .createAsync());
106
- const testEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext)
107
- .setField('testIndexedField', testEntity3.getID())
108
- .createAsync());
109
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext)
110
- .setField('foreignKey', testEntity2.getID())
111
- .createAsync());
112
- const loaded2Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
113
- {
114
- associatedEntityClass: TestEntity_1.default,
115
- fieldIdentifyingAssociatedEntity: 'foreignKey',
116
- },
117
- ]);
118
- expect(loaded2Result?.enforceValue().getID()).toEqual(testEntity2.getID());
119
- const loaded3Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
120
- {
121
- associatedEntityClass: TestEntity_1.default,
122
- fieldIdentifyingAssociatedEntity: 'foreignKey',
123
- },
124
- {
125
- associatedEntityClass: TestEntity2_1.default,
126
- fieldIdentifyingAssociatedEntity: 'testIndexedField',
127
- },
128
- ]);
129
- expect(loaded3Result?.enforceValue().getID()).toEqual(testEntity3.getID());
130
- const loaded4Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
131
- {
132
- associatedEntityClass: TestEntity_1.default,
133
- fieldIdentifyingAssociatedEntity: 'foreignKey',
134
- },
135
- {
136
- associatedEntityClass: TestEntity2_1.default,
137
- fieldIdentifyingAssociatedEntity: 'testIndexedField',
138
- },
139
- {
140
- associatedEntityClass: TestEntity_1.default,
141
- fieldIdentifyingAssociatedEntity: 'foreignKey',
142
- },
143
- ]);
144
- expect(loaded4Result?.enforceValue().getID()).toEqual(testEntity4.getID());
145
- });
146
- it('fails when chain loading associated entity fails', async () => {
147
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
148
- const viewerContext = new TestViewerContext_1.default(companionProvider);
149
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', (0, uuid_1.v4)()).createAsync());
150
- const loadResult = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
151
- {
152
- associatedEntityClass: TestEntity_1.default,
153
- fieldIdentifyingAssociatedEntity: 'foreignKey',
154
- },
155
- ]);
156
- expect(loadResult?.ok).toBe(false);
157
- });
158
- it('supports chain loading by field equality', async () => {
159
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
160
- const viewerContext = new TestViewerContext_1.default(companionProvider);
161
- const fieldValue = (0, uuid_1.v4)();
162
- const testEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', fieldValue).createAsync());
163
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', fieldValue).createAsync());
164
- const loaded2Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
165
- {
166
- associatedEntityClass: TestEntity_1.default,
167
- fieldIdentifyingAssociatedEntity: 'foreignKey',
168
- associatedEntityLookupByField: 'stringField',
169
- },
170
- ]);
171
- expect(loaded2Result?.enforceValue().getID()).toEqual(testEntity2.getID());
172
- });
173
- it('returns null when chain loading by field equality returns null', async () => {
174
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
175
- const viewerContext = new TestViewerContext_1.default(companionProvider);
176
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', (0, uuid_1.v4)()).createAsync());
177
- const loaded2Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
178
- {
179
- associatedEntityClass: TestEntity_1.default,
180
- fieldIdentifyingAssociatedEntity: 'foreignKey',
181
- associatedEntityLookupByField: 'stringField',
182
- },
183
- ]);
184
- expect(loaded2Result).toBeNull();
185
- });
186
- it('returns null when chain loading by field is null', async () => {
187
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
188
- const viewerContext = new TestViewerContext_1.default(companionProvider);
189
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('nullableField', null).createAsync());
190
- const loadedResult = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
191
- {
192
- associatedEntityClass: TestEntity_1.default,
193
- fieldIdentifyingAssociatedEntity: 'nullableField',
194
- },
195
- ]);
196
- expect(loadedResult).toBeNull();
24
+ const viewerContext = new ViewerContext_1.default(companionProvider);
25
+ const testEntity = await SimpleTestEntity_1.default.creator(viewerContext).createAsync();
26
+ expect(testEntity.associationLoaderWithAuthorizationResults()).toBeInstanceOf(AuthorizationResultBasedEntityAssociationLoader_1.default);
197
27
  });
198
28
  });
199
29
  });
@@ -1 +1 @@
1
- {"version":3,"file":"EntityAssociationLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityAssociationLoader-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityAssociationLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityAssociationLoader-test.ts"],"names":[],"mappings":";;;;;AAAA,yIAAiH;AACjH,2GAAmF;AACnF,yFAAiE;AACjE,qEAA6C;AAC7C,wFAAgE;AAChE,kHAA+G;AAE/G,QAAQ,CAAC,iCAAuB,EAAE,GAAG,EAAE;IACrC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,MAAM,0BAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/E,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,cAAc,CAAC,0CAAgC,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,MAAM,0BAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/E,MAAM,CAAC,UAAU,CAAC,yCAAyC,EAAE,CAAC,CAAC,cAAc,CAC3E,yDAA+C,CAChD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -103,30 +113,34 @@ it('runs through a common workflow', async () => {
103
113
  const entityCompanionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
104
114
  const vc1 = new TestUserViewerContext(entityCompanionProvider, (0, uuid_1.v4)());
105
115
  const vc2 = new TestUserViewerContext(entityCompanionProvider, (0, uuid_1.v4)());
106
- const blahOwner1 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1).setField('ownerID', vc1.getUserID()).createAsync());
107
- await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1).setField('ownerID', vc1.getUserID()).createAsync());
108
- const blahOwner2 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2).setField('ownerID', vc2.getUserID()).createAsync());
116
+ const blahOwner1 = await (0, results_1.enforceAsyncResult)(BlahEntity.creatorWithAuthorizationResults(vc1)
117
+ .setField('ownerID', vc1.getUserID())
118
+ .createAsync());
119
+ await (0, results_1.enforceAsyncResult)(BlahEntity.creatorWithAuthorizationResults(vc1)
120
+ .setField('ownerID', vc1.getUserID())
121
+ .createAsync());
122
+ const blahOwner2 = await (0, results_1.enforceAsyncResult)(BlahEntity.creatorWithAuthorizationResults(vc2)
123
+ .setField('ownerID', vc2.getUserID())
124
+ .createAsync());
109
125
  // sanity check created objects
110
126
  expect(blahOwner1.getField('ownerID')).toEqual(vc1.getUserID());
111
127
  expect(blahOwner2.getField('ownerID')).toEqual(vc2.getUserID());
112
128
  // check that two people can't read each others data
113
- await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc1).withAuthorizationResults().loadByIDAsync(blahOwner2.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
114
- await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc2).withAuthorizationResults().loadByIDAsync(blahOwner1.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
129
+ await expect((0, results_1.enforceAsyncResult)(BlahEntity.loaderWithAuthorizationResults(vc1).loadByIDAsync(blahOwner2.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
130
+ await expect((0, results_1.enforceAsyncResult)(BlahEntity.loaderWithAuthorizationResults(vc2).loadByIDAsync(blahOwner1.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
115
131
  // check that all of owner 1's objects can be loaded
116
- const results = await (0, entityUtils_1.enforceResultsAsync)(BlahEntity.loader(vc1)
117
- .withAuthorizationResults()
118
- .loadManyByFieldEqualingAsync('ownerID', vc1.getUserID()));
132
+ const results = await (0, entityUtils_1.enforceResultsAsync)(BlahEntity.loaderWithAuthorizationResults(vc1).loadManyByFieldEqualingAsync('ownerID', vc1.getUserID()));
119
133
  expect(results).toHaveLength(2);
120
134
  // check that two people can't create objects owned by others
121
- await expect((0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2).setField('ownerID', blahOwner1.getID()).createAsync())).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
135
+ await expect((0, results_1.enforceAsyncResult)(BlahEntity.creatorWithAuthorizationResults(vc2)
136
+ .setField('ownerID', blahOwner1.getID())
137
+ .createAsync())).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
122
138
  // check that empty load many returns nothing
123
- const results2 = await BlahEntity.loader(vc1)
124
- .withAuthorizationResults()
125
- .loadManyByFieldEqualingManyAsync('ownerID', []);
139
+ const results2 = await BlahEntity.loaderWithAuthorizationResults(vc1).loadManyByFieldEqualingManyAsync('ownerID', []);
126
140
  for (const value in results2.values) {
127
141
  expect(value).toHaveLength(0);
128
142
  }
129
143
  // check that the user can't delete their own data (as specified by privacy rules)
130
- await expect((0, results_1.enforceAsyncResult)(BlahEntity.deleteAsync(blahOwner2))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
144
+ await expect((0, results_1.enforceAsyncResult)(BlahEntity.deleterWithAuthorizationResults(blahOwner2).deleteAsync())).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
131
145
  });
132
146
  //# sourceMappingURL=EntityCommonUseCases-test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityCommonUseCases-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCommonUseCases-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityCommonUseCases-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCommonUseCases-test.ts"],"names":[],"mappings":"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"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };