@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,209 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const ts_mockito_1 = require("ts-mockito");
5
- const AuthorizationResultBasedEntityAssociationLoader_1 = require("../AuthorizationResultBasedEntityAssociationLoader");
6
- const AuthorizationResultBasedEntityLoader_1 = require("../AuthorizationResultBasedEntityLoader");
7
- const EnforcingEntityAssociationLoader_1 = require("../EnforcingEntityAssociationLoader");
8
- const EnforcingEntityLoader_1 = require("../EnforcingEntityLoader");
9
- const EntityLoaderUtils_1 = require("../EntityLoaderUtils");
10
- const ReadonlyEntity_1 = require("../ReadonlyEntity");
11
- const ViewerContext_1 = require("../ViewerContext");
12
- const SimpleTestEntity_1 = require("../utils/__testfixtures__/SimpleTestEntity");
13
- const TestEntity_1 = require("../utils/__testfixtures__/TestEntity");
14
- const createUnitTestEntityCompanionProvider_1 = require("../utils/__testfixtures__/createUnitTestEntityCompanionProvider");
15
- (0, globals_1.describe)(ReadonlyEntity_1.ReadonlyEntity, () => {
16
- (0, globals_1.describe)('getID', () => {
17
- (0, globals_1.it)('returns correct value', () => {
18
- const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.ViewerContext));
19
- const data = {
20
- id: 'what',
21
- };
22
- const testEntity = new SimpleTestEntity_1.SimpleTestEntity({
23
- viewerContext,
24
- id: 'what',
25
- databaseFields: data,
26
- selectedFields: data,
27
- });
28
- (0, globals_1.expect)(testEntity.getID()).toEqual('what');
29
- });
30
- });
31
- (0, globals_1.describe)('toString', () => {
32
- (0, globals_1.it)('returns correct value', () => {
33
- const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.ViewerContext));
34
- const data = {
35
- id: 'what',
36
- };
37
- const testEntity = new SimpleTestEntity_1.SimpleTestEntity({
38
- viewerContext,
39
- id: 'what',
40
- databaseFields: data,
41
- selectedFields: data,
42
- });
43
- (0, globals_1.expect)(testEntity.toString()).toEqual('SimpleTestEntity[what]');
44
- });
45
- });
46
- (0, globals_1.describe)('getUniqueIdentifier', () => {
47
- (0, globals_1.it)('returns a different value for two different entities of the same type', () => {
48
- const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.ViewerContext));
49
- const testEntity = new SimpleTestEntity_1.SimpleTestEntity({
50
- viewerContext,
51
- id: '1',
52
- databaseFields: {
53
- id: '1',
54
- },
55
- selectedFields: {
56
- id: '1',
57
- },
58
- });
59
- const testEntity2 = new SimpleTestEntity_1.SimpleTestEntity({
60
- viewerContext,
61
- id: '2',
62
- databaseFields: {
63
- id: '2',
64
- },
65
- selectedFields: {
66
- id: '2',
67
- },
68
- });
69
- (0, globals_1.expect)(testEntity.getUniqueIdentifier()).not.toEqual(testEntity2.getUniqueIdentifier());
70
- });
71
- (0, globals_1.it)('returns the same value even if different viewer context', () => {
72
- const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.ViewerContext));
73
- const viewerContext2 = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.ViewerContext));
74
- const data = { id: '1' };
75
- const testEntity = new SimpleTestEntity_1.SimpleTestEntity({
76
- viewerContext,
77
- id: '1',
78
- databaseFields: data,
79
- selectedFields: data,
80
- });
81
- const testEntity2 = new SimpleTestEntity_1.SimpleTestEntity({
82
- viewerContext: viewerContext2,
83
- id: '1',
84
- databaseFields: data,
85
- selectedFields: data,
86
- });
87
- (0, globals_1.expect)(testEntity.getUniqueIdentifier()).toEqual(testEntity2.getUniqueIdentifier());
88
- });
89
- (0, globals_1.it)('returns a different value for different entities even if same ID', () => {
90
- const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.ViewerContext));
91
- const data = { id: '1' };
92
- const testEntity = new SimpleTestEntity_1.SimpleTestEntity({
93
- viewerContext,
94
- id: 'what',
95
- databaseFields: data,
96
- selectedFields: data,
97
- });
98
- const data2 = {
99
- customIdField: '1',
100
- testIndexedField: '2',
101
- stringField: '3',
102
- intField: 4,
103
- dateField: new Date(),
104
- nullableField: null,
105
- };
106
- const testEntity2 = new TestEntity_1.TestEntity({
107
- viewerContext,
108
- id: '1',
109
- databaseFields: data2,
110
- selectedFields: data2,
111
- });
112
- (0, globals_1.expect)(testEntity.getUniqueIdentifier()).not.toEqual(testEntity2.getUniqueIdentifier());
113
- });
114
- });
115
- (0, globals_1.it)('cannot be created without an ID', () => {
116
- const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.ViewerContext));
117
- const dataWithoutID = {};
118
- (0, globals_1.expect)(() => {
119
- // eslint-disable-next-line no-new
120
- new SimpleTestEntity_1.SimpleTestEntity({
121
- viewerContext,
122
- id: undefined,
123
- databaseFields: dataWithoutID,
124
- selectedFields: dataWithoutID,
125
- });
126
- }).toThrow();
127
- });
128
- (0, globals_1.it)('returns correct viewerContext from instantiation', () => {
129
- const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.ViewerContext));
130
- const data = {
131
- id: 'what',
132
- };
133
- const testEntity = new SimpleTestEntity_1.SimpleTestEntity({
134
- viewerContext,
135
- id: 'what',
136
- databaseFields: data,
137
- selectedFields: data,
138
- });
139
- (0, globals_1.expect)(testEntity.getViewerContext()).toBe(viewerContext);
140
- });
141
- (0, globals_1.it)('returns correct data for field getters', () => {
142
- const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.ViewerContext));
143
- const data = {
144
- id: 'what',
145
- };
146
- const testEntity = new SimpleTestEntity_1.SimpleTestEntity({
147
- viewerContext,
148
- id: 'what',
149
- databaseFields: data,
150
- selectedFields: data,
151
- });
152
- (0, globals_1.expect)(testEntity.getField('id')).toEqual('what');
153
- (0, globals_1.expect)(testEntity.getAllFields()).toEqual(data);
154
- });
155
- (0, globals_1.describe)('associationLoader', () => {
156
- (0, globals_1.it)('returns a new EnforcingEntityAssociationLoader', () => {
157
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
158
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
159
- const data = {
160
- id: 'what',
161
- };
162
- const testEntity = new SimpleTestEntity_1.SimpleTestEntity({
163
- viewerContext,
164
- id: 'what',
165
- databaseFields: data,
166
- selectedFields: data,
167
- });
168
- (0, globals_1.expect)(testEntity.associationLoader()).toBeInstanceOf(EnforcingEntityAssociationLoader_1.EnforcingEntityAssociationLoader);
169
- });
170
- });
171
- (0, globals_1.describe)('associationLoaderWithAuthorizationResults', () => {
172
- (0, globals_1.it)('returns a new AuthorizationResultBasedEntityAssociationLoader', () => {
173
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
174
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
175
- const data = {
176
- id: 'what',
177
- };
178
- const testEntity = new SimpleTestEntity_1.SimpleTestEntity({
179
- viewerContext,
180
- id: 'what',
181
- databaseFields: data,
182
- selectedFields: data,
183
- });
184
- (0, globals_1.expect)(testEntity.associationLoaderWithAuthorizationResults()).toBeInstanceOf(AuthorizationResultBasedEntityAssociationLoader_1.AuthorizationResultBasedEntityAssociationLoader);
185
- });
186
- });
187
- (0, globals_1.describe)('loader', () => {
188
- (0, globals_1.it)('creates a new EnforcingEntityLoader', async () => {
189
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
190
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
191
- (0, globals_1.expect)(SimpleTestEntity_1.SimpleTestEntity.loader(viewerContext)).toBeInstanceOf(EnforcingEntityLoader_1.EnforcingEntityLoader);
192
- });
193
- });
194
- (0, globals_1.describe)('loaderWithAuthorizationResults', () => {
195
- (0, globals_1.it)('creates a new AuthorizationResultBasedEntityLoader', async () => {
196
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
197
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
198
- (0, globals_1.expect)(SimpleTestEntity_1.SimpleTestEntity.loaderWithAuthorizationResults(viewerContext)).toBeInstanceOf(AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader);
199
- });
200
- });
201
- (0, globals_1.describe)('loaderUtils', () => {
202
- (0, globals_1.it)('creates a new EntityLoaderUtils', async () => {
203
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
204
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
205
- (0, globals_1.expect)(SimpleTestEntity_1.SimpleTestEntity.loaderUtils(viewerContext)).toBeInstanceOf(EntityLoaderUtils_1.EntityLoaderUtils);
206
- });
207
- });
208
- });
209
- //# sourceMappingURL=ReadonlyEntity-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReadonlyEntity-test.js","sourceRoot":"","sources":["../../../src/__tests__/ReadonlyEntity-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 EntityQueryContext_1 = require("../EntityQueryContext");
5
- const ViewerContext_1 = require("../ViewerContext");
6
- const createUnitTestEntityCompanionProvider_1 = require("../utils/__testfixtures__/createUnitTestEntityCompanionProvider");
7
- (0, globals_1.describe)(ViewerContext_1.ViewerContext, () => {
8
- (0, globals_1.describe)('getQueryContextForDatabaseAdaptorFlavor', () => {
9
- (0, globals_1.it)('creates a new regular query context', () => {
10
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
11
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
12
- const queryContext = viewerContext.getQueryContextForDatabaseAdaptorFlavor('postgres');
13
- (0, globals_1.expect)(queryContext).toBeInstanceOf(EntityQueryContext_1.EntityQueryContext);
14
- (0, globals_1.expect)(queryContext.isInTransaction()).toBe(false);
15
- });
16
- });
17
- (0, globals_1.describe)('runInTransactionForDatabaseAdaptorFlavorAsync', () => {
18
- (0, globals_1.it)('creates a new transactional query context', async () => {
19
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
20
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
21
- const didCreateTransaction = await viewerContext.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
22
- return queryContext.isInTransaction();
23
- });
24
- (0, globals_1.expect)(didCreateTransaction).toBe(true);
25
- });
26
- });
27
- });
28
- //# sourceMappingURL=ViewerContext-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewerContext-test.js","sourceRoot":"","sources":["../../../src/__tests__/ViewerContext-test.ts"],"names":[],"mappings":";;AAAA,2CAAqD;AAErD,8DAA2D;AAC3D,oDAAiD;AACjD,2HAAwH;AAExH,IAAA,kBAAQ,EAAC,6BAAa,EAAE,GAAG,EAAE;IAC3B,IAAA,kBAAQ,EAAC,yCAAyC,EAAE,GAAG,EAAE;QACvD,IAAA,YAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,aAAa,CAAC,uCAAuC,CAAC,UAAU,CAAC,CAAC;YACvF,IAAA,gBAAM,EAAC,YAAY,CAAC,CAAC,cAAc,CAAC,uCAAkB,CAAC,CAAC;YACxD,IAAA,gBAAM,EAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,kBAAQ,EAAC,+CAA+C,EAAE,GAAG,EAAE;QAC7D,IAAA,YAAE,EAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,oBAAoB,GACxB,MAAM,aAAa,CAAC,6CAA6C,CAC/D,UAAU,EACV,KAAK,EAAE,YAAY,EAAE,EAAE;gBACrB,OAAO,YAAY,CAAC,eAAe,EAAE,CAAC;YACxC,CAAC,CACF,CAAC;YACJ,IAAA,gBAAM,EAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const ts_mockito_1 = require("ts-mockito");
5
- const ViewerContext_1 = require("../ViewerContext");
6
- const ViewerScopedEntityCompanion_1 = require("../ViewerScopedEntityCompanion");
7
- const ViewerScopedEntityLoaderFactory_1 = require("../ViewerScopedEntityLoaderFactory");
8
- const ViewerScopedEntityMutatorFactory_1 = require("../ViewerScopedEntityMutatorFactory");
9
- (0, globals_1.describe)(ViewerScopedEntityCompanion_1.ViewerScopedEntityCompanion, () => {
10
- (0, globals_1.it)('returns viewer scoped loader and mutator factory', () => {
11
- const vc = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.ViewerContext));
12
- const entityCompanion = (0, ts_mockito_1.mock)();
13
- const viewerScopedEntityCompanion = new ViewerScopedEntityCompanion_1.ViewerScopedEntityCompanion(entityCompanion, vc);
14
- (0, globals_1.expect)(viewerScopedEntityCompanion.getLoaderFactory()).toBeInstanceOf(ViewerScopedEntityLoaderFactory_1.ViewerScopedEntityLoaderFactory);
15
- (0, globals_1.expect)(viewerScopedEntityCompanion.getMutatorFactory()).toBeInstanceOf(ViewerScopedEntityMutatorFactory_1.ViewerScopedEntityMutatorFactory);
16
- });
17
- });
18
- //# sourceMappingURL=ViewerScopedEntityCompanion-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewerScopedEntityCompanion-test.js","sourceRoot":"","sources":["../../../src/__tests__/ViewerScopedEntityCompanion-test.ts"],"names":[],"mappings":";;AAAA,2CAAqD;AACrD,2CAA4C;AAG5C,oDAAiD;AACjD,gFAA6E;AAC7E,wFAAqF;AACrF,0FAAuF;AAOvF,IAAA,kBAAQ,EAAC,yDAA2B,EAAE,GAAG,EAAE;IACzC,IAAA,YAAE,EAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,EAAE,GAAG,IAAA,qBAAQ,EAAC,IAAA,iBAAI,EAAC,6BAAa,CAAC,CAAC,CAAC;QACzC,MAAM,eAAe,GACnB,IAAA,iBAAI,GASD,CAAC;QACN,MAAM,2BAA2B,GAAG,IAAI,yDAA2B,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACzF,IAAA,gBAAM,EAAC,2BAA2B,CAAC,gBAAgB,EAAE,CAAC,CAAC,cAAc,CACnE,iEAA+B,CAChC,CAAC;QACF,IAAA,gBAAM,EAAC,2BAA2B,CAAC,iBAAiB,EAAE,CAAC,CAAC,cAAc,CACpE,mEAAgC,CACjC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const ts_mockito_1 = require("ts-mockito");
5
- const EntityCompanionProvider_1 = require("../EntityCompanionProvider");
6
- const ViewerContext_1 = require("../ViewerContext");
7
- const ViewerScopedEntityCompanion_1 = require("../ViewerScopedEntityCompanion");
8
- const ViewerScopedEntityCompanionProvider_1 = require("../ViewerScopedEntityCompanionProvider");
9
- const TestEntity_1 = require("../utils/__testfixtures__/TestEntity");
10
- (0, globals_1.describe)(ViewerScopedEntityCompanionProvider_1.ViewerScopedEntityCompanionProvider, () => {
11
- (0, globals_1.it)('returns viewer scoped entity companion', () => {
12
- const vc = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.ViewerContext));
13
- const entityCompanionProvider = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityCompanionProvider_1.EntityCompanionProvider));
14
- const viewerScopedEntityCompanionProvider = new ViewerScopedEntityCompanionProvider_1.ViewerScopedEntityCompanionProvider(entityCompanionProvider, vc);
15
- (0, globals_1.expect)(viewerScopedEntityCompanionProvider.getViewerScopedCompanionForEntity(TestEntity_1.TestEntity)).toBeInstanceOf(ViewerScopedEntityCompanion_1.ViewerScopedEntityCompanion);
16
- });
17
- });
18
- //# sourceMappingURL=ViewerScopedEntityCompanionProvider-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewerScopedEntityCompanionProvider-test.js","sourceRoot":"","sources":["../../../src/__tests__/ViewerScopedEntityCompanionProvider-test.ts"],"names":[],"mappings":";;AAAA,2CAAqD;AACrD,2CAA4C;AAE5C,wEAAqE;AACrE,oDAAiD;AACjD,gFAA6E;AAC7E,gGAA6F;AAC7F,qEAAkE;AAElE,IAAA,kBAAQ,EAAC,yEAAmC,EAAE,GAAG,EAAE;IACjD,IAAA,YAAE,EAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,EAAE,GAAG,IAAA,qBAAQ,EAAC,IAAA,iBAAI,EAAC,6BAAa,CAAC,CAAC,CAAC;QACzC,MAAM,uBAAuB,GAAG,IAAA,qBAAQ,EAAC,IAAA,iBAAI,EAAC,iDAAuB,CAAC,CAAC,CAAC;QACxE,MAAM,mCAAmC,GAAG,IAAI,yEAAmC,CACjF,uBAAuB,EACvB,EAAE,CACH,CAAC;QACF,IAAA,gBAAM,EACJ,mCAAmC,CAAC,iCAAiC,CAAC,uBAAU,CAAC,CAClF,CAAC,cAAc,CAAC,yDAA2B,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const ts_mockito_1 = require("ts-mockito");
5
- const EntityLoaderFactory_1 = require("../EntityLoaderFactory");
6
- const EntityQueryContext_1 = require("../EntityQueryContext");
7
- const ViewerContext_1 = require("../ViewerContext");
8
- const ViewerScopedEntityLoaderFactory_1 = require("../ViewerScopedEntityLoaderFactory");
9
- (0, globals_1.describe)(ViewerScopedEntityLoaderFactory_1.ViewerScopedEntityLoaderFactory, () => {
10
- (0, globals_1.it)('correctly scopes viewer to entity loads', async () => {
11
- const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.ViewerContext));
12
- const privacyPolicyEvaluationContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
13
- const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
14
- const baseLoader = (0, ts_mockito_1.mock)(EntityLoaderFactory_1.EntityLoaderFactory);
15
- const baseLoaderInstance = (0, ts_mockito_1.instance)(baseLoader);
16
- const viewerScopedEntityLoader = new ViewerScopedEntityLoaderFactory_1.ViewerScopedEntityLoaderFactory(baseLoaderInstance, viewerContext);
17
- viewerScopedEntityLoader.forLoad(queryContext, privacyPolicyEvaluationContext);
18
- (0, ts_mockito_1.verify)(baseLoader.forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext)).once();
19
- });
20
- });
21
- //# sourceMappingURL=ViewerScopedEntityLoaderFactory-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewerScopedEntityLoaderFactory-test.js","sourceRoot":"","sources":["../../../src/__tests__/ViewerScopedEntityLoaderFactory-test.ts"],"names":[],"mappings":";;AAAA,2CAA6C;AAC7C,2CAAoD;AAEpD,gEAA6D;AAE7D,8DAA2D;AAC3D,oDAAiD;AACjD,wFAAqF;AAErF,IAAA,kBAAQ,EAAC,iEAA+B,EAAE,GAAG,EAAE;IAC7C,IAAA,YAAE,EAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,aAAa,GAAG,IAAA,qBAAQ,EAAC,IAAA,iBAAI,EAAC,6BAAa,CAAC,CAAC,CAAC;QACpD,MAAM,8BAA8B,GAClC,IAAA,qBAAQ,EAAC,IAAA,iBAAI,GAAiE,CAAC,CAAC;QAClF,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,IAAA,iBAAI,EAAC,uCAAkB,CAAC,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAA,iBAAI,EAAoD,yCAAmB,CAAC,CAAC;QAChG,MAAM,kBAAkB,GAAG,IAAA,qBAAQ,EAAC,UAAU,CAAC,CAAC;QAEhD,MAAM,wBAAwB,GAAG,IAAI,iEAA+B,CAOlE,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAErC,wBAAwB,CAAC,OAAO,CAAC,YAAY,EAAE,8BAA8B,CAAC,CAAC;QAE/E,IAAA,mBAAM,EAAC,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,8BAA8B,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const ts_mockito_1 = require("ts-mockito");
5
- const EntityMutatorFactory_1 = require("../EntityMutatorFactory");
6
- const EntityQueryContext_1 = require("../EntityQueryContext");
7
- const ViewerContext_1 = require("../ViewerContext");
8
- const ViewerScopedEntityMutatorFactory_1 = require("../ViewerScopedEntityMutatorFactory");
9
- (0, globals_1.describe)(ViewerScopedEntityMutatorFactory_1.ViewerScopedEntityMutatorFactory, () => {
10
- (0, globals_1.it)('correctly scopes viewer to entity mutations', async () => {
11
- const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.ViewerContext));
12
- const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
13
- const baseMutatorFactory = (0, ts_mockito_1.mock)(EntityMutatorFactory_1.EntityMutatorFactory);
14
- const baseMutatorFactoryInstance = (0, ts_mockito_1.instance)(baseMutatorFactory);
15
- const viewerScopedEntityLoader = new ViewerScopedEntityMutatorFactory_1.ViewerScopedEntityMutatorFactory(baseMutatorFactoryInstance, viewerContext);
16
- viewerScopedEntityLoader.forCreate(queryContext);
17
- (0, ts_mockito_1.verify)(baseMutatorFactory.forCreate(viewerContext, queryContext)).once();
18
- });
19
- });
20
- //# sourceMappingURL=ViewerScopedEntityMutatorFactory-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewerScopedEntityMutatorFactory-test.js","sourceRoot":"","sources":["../../../src/__tests__/ViewerScopedEntityMutatorFactory-test.ts"],"names":[],"mappings":";;AAAA,2CAA6C;AAC7C,2CAAoD;AAEpD,kEAA+D;AAC/D,8DAA2D;AAC3D,oDAAiD;AACjD,0FAAuF;AAOvF,IAAA,kBAAQ,EAAC,mEAAgC,EAAE,GAAG,EAAE;IAC9C,IAAA,YAAE,EAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,aAAa,GAAG,IAAA,qBAAQ,EAAC,IAAA,iBAAI,EAAC,6BAAa,CAAC,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,IAAA,iBAAI,EAAC,uCAAkB,CAAC,CAAC,CAAC;QACxD,MAAM,kBAAkB,GACtB,IAAA,iBAAI,EAQF,2CAAoB,CAAC,CAAC;QAC1B,MAAM,0BAA0B,GAAG,IAAA,qBAAQ,EAAC,kBAAkB,CAAC,CAAC;QAEhE,MAAM,wBAAwB,GAAG,IAAI,mEAAgC,CAOnE,0BAA0B,EAAE,aAAa,CAAC,CAAC;QAE7C,wBAAwB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAEjD,IAAA,mBAAM,EAAC,kBAAkB,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,121 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const Entity_1 = require("../../Entity");
5
- const EntityConfiguration_1 = require("../../EntityConfiguration");
6
- const EntityFields_1 = require("../../EntityFields");
7
- const EntityPrivacyPolicy_1 = require("../../EntityPrivacyPolicy");
8
- const ViewerContext_1 = require("../../ViewerContext");
9
- const entityUtils_1 = require("../../entityUtils");
10
- const AlwaysAllowPrivacyPolicyRule_1 = require("../../rules/AlwaysAllowPrivacyPolicyRule");
11
- const createUnitTestEntityCompanionProvider_1 = require("../../utils/__testfixtures__/createUnitTestEntityCompanionProvider");
12
- (0, globals_1.describe)('Two entities backed by the same table', () => {
13
- (0, globals_1.test)('load by different types', async () => {
14
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
15
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
16
- const one = await OneTestEntity.creator(viewerContext)
17
- .setField('entity_type', EntityType.ONE)
18
- .setField('common_other_field', 'wat')
19
- .createAsync();
20
- const two = await TwoTestEntity.creator(viewerContext)
21
- .setField('entity_type', EntityType.TWO)
22
- .setField('other_field', 'blah')
23
- .setField('common_other_field', 'wat')
24
- .createAsync();
25
- (0, globals_1.expect)(one).toBeInstanceOf(OneTestEntity);
26
- (0, globals_1.expect)(two).toBeInstanceOf(TwoTestEntity);
27
- await (0, globals_1.expect)(TwoTestEntity.loader(viewerContext).loadByIDAsync(one.getID())).rejects.toThrow('TwoTestEntity must be instantiated with two data');
28
- await (0, globals_1.expect)(OneTestEntity.loader(viewerContext).loadByIDAsync(two.getID())).rejects.toThrow('OneTestEntity must be instantiated with one data');
29
- const manyResults = await OneTestEntity.loaderWithAuthorizationResults(viewerContext).loadManyByFieldEqualingAsync('common_other_field', 'wat');
30
- const successfulManyResults = (0, entityUtils_1.successfulResults)(manyResults);
31
- const failedManyResults = (0, entityUtils_1.failedResults)(manyResults);
32
- (0, globals_1.expect)(successfulManyResults).toHaveLength(1);
33
- (0, globals_1.expect)(failedManyResults).toHaveLength(1);
34
- (0, globals_1.expect)(successfulManyResults[0].enforceValue().getID()).toEqual(one.getID());
35
- (0, globals_1.expect)(failedManyResults[0].enforceError().message).toEqual('OneTestEntity must be instantiated with one data');
36
- const fieldEqualityConjunctionResults = await OneTestEntity.loaderWithAuthorizationResults(viewerContext).loadManyByFieldEqualityConjunctionAsync([
37
- {
38
- fieldName: 'common_other_field',
39
- fieldValue: 'wat',
40
- },
41
- ]);
42
- const successfulfieldEqualityConjunctionResultsResults = (0, entityUtils_1.successfulResults)(fieldEqualityConjunctionResults);
43
- const failedfieldEqualityConjunctionResultsResults = (0, entityUtils_1.failedResults)(fieldEqualityConjunctionResults);
44
- (0, globals_1.expect)(successfulfieldEqualityConjunctionResultsResults).toHaveLength(1);
45
- (0, globals_1.expect)(failedfieldEqualityConjunctionResultsResults).toHaveLength(1);
46
- });
47
- });
48
- var EntityType;
49
- (function (EntityType) {
50
- EntityType[EntityType["ONE"] = 0] = "ONE";
51
- EntityType[EntityType["TWO"] = 1] = "TWO";
52
- })(EntityType || (EntityType = {}));
53
- const testEntityConfiguration = new EntityConfiguration_1.EntityConfiguration({
54
- idField: 'id',
55
- tableName: 'entities',
56
- schema: {
57
- id: new EntityFields_1.UUIDField({
58
- columnName: 'custom_id',
59
- cache: true,
60
- }),
61
- other_field: new EntityFields_1.StringField({
62
- columnName: 'other_field',
63
- }),
64
- common_other_field: new EntityFields_1.StringField({
65
- columnName: 'common_other_field',
66
- }),
67
- entity_type: new EntityFields_1.StrictEnumField({
68
- columnName: 'entity_type',
69
- enum: EntityType,
70
- }),
71
- },
72
- databaseAdapterFlavor: 'postgres',
73
- cacheAdapterFlavor: 'redis',
74
- });
75
- class TestEntityPrivacyPolicy extends EntityPrivacyPolicy_1.EntityPrivacyPolicy {
76
- readRules = [
77
- new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
78
- ];
79
- createRules = [
80
- new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
81
- ];
82
- updateRules = [
83
- new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
84
- ];
85
- deleteRules = [
86
- new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
87
- ];
88
- }
89
- class OneTestEntity extends Entity_1.Entity {
90
- constructor(constructorParams) {
91
- if (constructorParams.selectedFields.entity_type !== EntityType.ONE) {
92
- throw new Error('OneTestEntity must be instantiated with one data');
93
- }
94
- super(constructorParams);
95
- }
96
- static defineCompanionDefinition() {
97
- return {
98
- entityClass: OneTestEntity,
99
- entityConfiguration: testEntityConfiguration,
100
- privacyPolicyClass: TestEntityPrivacyPolicy,
101
- entitySelectedFields: ['id', 'entity_type', 'common_other_field'],
102
- };
103
- }
104
- }
105
- class TwoTestEntity extends Entity_1.Entity {
106
- constructor(constructorParams) {
107
- if (constructorParams.selectedFields.entity_type !== EntityType.TWO) {
108
- throw new Error('TwoTestEntity must be instantiated with two data');
109
- }
110
- super(constructorParams);
111
- }
112
- static defineCompanionDefinition() {
113
- return {
114
- entityClass: TwoTestEntity,
115
- entityConfiguration: testEntityConfiguration,
116
- privacyPolicyClass: TestEntityPrivacyPolicy,
117
- entitySelectedFields: ['id', 'other_field', 'common_other_field', 'entity_type'],
118
- };
119
- }
120
- }
121
- //# sourceMappingURL=TwoEntitySameTableDisjointRows-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TwoEntitySameTableDisjointRows-test.js","sourceRoot":"","sources":["../../../../src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts"],"names":[],"mappings":"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"}
@@ -1,119 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const Entity_1 = require("../../Entity");
5
- const EntityConfiguration_1 = require("../../EntityConfiguration");
6
- const EntityFields_1 = require("../../EntityFields");
7
- const EntityPrivacyPolicy_1 = require("../../EntityPrivacyPolicy");
8
- const ViewerContext_1 = require("../../ViewerContext");
9
- const AlwaysAllowPrivacyPolicyRule_1 = require("../../rules/AlwaysAllowPrivacyPolicyRule");
10
- const createUnitTestEntityCompanionProvider_1 = require("../../utils/__testfixtures__/createUnitTestEntityCompanionProvider");
11
- (0, globals_1.describe)('Two entities backed by the same table', () => {
12
- (0, globals_1.test)('mutate through different types and keep consistent cache and dataloader', async () => {
13
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
14
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
15
- const entity1 = await OneTestEntity.creator(viewerContext)
16
- .setField('fake_field', 'hello')
17
- .createAsync();
18
- (0, globals_1.expect)(entity1).toBeInstanceOf(OneTestEntity);
19
- const entity2 = await TwoTestEntity.loader(viewerContext).loadByIDAsync(entity1.getID());
20
- (0, globals_1.expect)(entity2).toBeInstanceOf(TwoTestEntity);
21
- const updated2 = await TwoTestEntity.updater(entity2)
22
- .setField('fake_field', 'world')
23
- .setField('other_field', 'wat')
24
- .updateAsync();
25
- (0, globals_1.expect)(updated2.getAllFields()).toMatchObject({
26
- id: updated2.getID(),
27
- other_field: 'wat',
28
- fake_field: 'world',
29
- });
30
- const loaded1 = await OneTestEntity.loader(viewerContext).loadByIDAsync(entity1.getID());
31
- (0, globals_1.expect)(loaded1.getAllFields()).toMatchObject({
32
- id: updated2.getID(),
33
- fake_field: 'world',
34
- });
35
- });
36
- (0, globals_1.test)('cached field that differs between the two to test invalidation', async () => {
37
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
38
- const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
39
- const entity = await TwoTestEntity.creator(viewerContext)
40
- .setField('fake_field', 'hello')
41
- .setField('other_field', 'huh')
42
- .createAsync();
43
- const loadedEntity = await TwoTestEntity.loader(viewerContext).loadByFieldEqualingAsync('other_field', 'huh');
44
- (0, globals_1.expect)(loadedEntity?.getAllFields()).toMatchObject({
45
- id: entity.getID(),
46
- fake_field: 'hello',
47
- other_field: 'huh',
48
- });
49
- const loaded1 = await OneTestEntity.loader(viewerContext).loadByIDAsync(entity.getID());
50
- await OneTestEntity.updater(loaded1).setField('fake_field', 'world').updateAsync();
51
- const loaded2 = await TwoTestEntity.loader(viewerContext).loadByFieldEqualingAsync('other_field', 'huh');
52
- (0, globals_1.expect)(loaded2?.getAllFields()).toMatchObject({
53
- id: entity.getID(),
54
- fake_field: 'world',
55
- other_field: 'huh',
56
- });
57
- const loaded22 = await TwoTestEntity.loader(viewerContext).loadByFieldEqualingAsync('fake_field', 'world');
58
- (0, globals_1.expect)(loaded22?.getAllFields()).toMatchObject({
59
- id: entity.getID(),
60
- fake_field: 'world',
61
- other_field: 'huh',
62
- });
63
- });
64
- });
65
- const testEntityConfiguration = new EntityConfiguration_1.EntityConfiguration({
66
- idField: 'id',
67
- tableName: 'entities',
68
- schema: {
69
- id: new EntityFields_1.UUIDField({
70
- columnName: 'custom_id',
71
- cache: true,
72
- }),
73
- other_field: new EntityFields_1.StringField({
74
- columnName: 'other_field',
75
- cache: true,
76
- }),
77
- fake_field: new EntityFields_1.StringField({
78
- columnName: 'fake_field',
79
- cache: true,
80
- }),
81
- },
82
- databaseAdapterFlavor: 'postgres',
83
- cacheAdapterFlavor: 'redis',
84
- });
85
- class TestEntityPrivacyPolicy extends EntityPrivacyPolicy_1.EntityPrivacyPolicy {
86
- readRules = [
87
- new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
88
- ];
89
- createRules = [
90
- new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
91
- ];
92
- updateRules = [
93
- new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
94
- ];
95
- deleteRules = [
96
- new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
97
- ];
98
- }
99
- class OneTestEntity extends Entity_1.Entity {
100
- static defineCompanionDefinition() {
101
- return {
102
- entityClass: OneTestEntity,
103
- entityConfiguration: testEntityConfiguration,
104
- privacyPolicyClass: TestEntityPrivacyPolicy,
105
- entitySelectedFields: ['id', 'fake_field'],
106
- };
107
- }
108
- }
109
- class TwoTestEntity extends Entity_1.Entity {
110
- static defineCompanionDefinition() {
111
- return {
112
- entityClass: TwoTestEntity,
113
- entityConfiguration: testEntityConfiguration,
114
- privacyPolicyClass: TestEntityPrivacyPolicy,
115
- entitySelectedFields: ['id', 'other_field', 'fake_field'],
116
- };
117
- }
118
- }
119
- //# sourceMappingURL=TwoEntitySameTableOverlappingRows-test.js.map