@expo/entity 0.16.0 → 0.20.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 (210) hide show
  1. package/build/EnforcingEntityLoader.js +2 -2
  2. package/build/EnforcingEntityLoader.js.map +1 -1
  3. package/build/Entity.js +8 -2
  4. package/build/Entity.js.map +1 -1
  5. package/build/EntityAssociationLoader.js +3 -3
  6. package/build/EntityAssociationLoader.js.map +1 -1
  7. package/build/EntityCompanion.d.ts +5 -0
  8. package/build/EntityCompanion.js +8 -1
  9. package/build/EntityCompanion.js.map +1 -1
  10. package/build/EntityCompanionProvider.d.ts +1 -1
  11. package/build/EntityCompanionProvider.js +5 -5
  12. package/build/EntityCompanionProvider.js.map +1 -1
  13. package/build/EntityConfiguration.d.ts +1 -1
  14. package/build/EntityConfiguration.js +3 -3
  15. package/build/EntityConfiguration.js.map +1 -1
  16. package/build/EntityDatabaseAdapter.d.ts +4 -4
  17. package/build/EntityDatabaseAdapter.js +13 -13
  18. package/build/EntityDatabaseAdapter.js.map +1 -1
  19. package/build/EntityFieldDefinition.d.ts +77 -0
  20. package/build/EntityFieldDefinition.js +53 -0
  21. package/build/EntityFieldDefinition.js.map +1 -0
  22. package/build/EntityFields.d.ts +5 -78
  23. package/build/EntityFields.js +19 -61
  24. package/build/EntityFields.js.map +1 -1
  25. package/build/EntityLoader.d.ts +3 -1
  26. package/build/EntityLoader.js +19 -15
  27. package/build/EntityLoader.js.map +1 -1
  28. package/build/EntityLoaderFactory.d.ts +3 -1
  29. package/build/EntityLoaderFactory.js +3 -2
  30. package/build/EntityLoaderFactory.js.map +1 -1
  31. package/build/EntityMutationInfo.d.ts +26 -0
  32. package/build/EntityMutationInfo.js +10 -0
  33. package/build/EntityMutationInfo.js.map +1 -0
  34. package/build/EntityMutationTriggerConfiguration.d.ts +4 -4
  35. package/build/EntityMutationValidator.d.ts +3 -3
  36. package/build/EntityMutationValidator.js.map +1 -1
  37. package/build/EntityMutator.d.ts +5 -16
  38. package/build/EntityMutator.js +62 -58
  39. package/build/EntityMutator.js.map +1 -1
  40. package/build/EntityPrivacyPolicy.d.ts +5 -4
  41. package/build/EntityPrivacyPolicy.js +60 -12
  42. package/build/EntityPrivacyPolicy.js.map +1 -1
  43. package/build/EntityQueryContext.d.ts +13 -0
  44. package/build/EntityQueryContext.js +18 -0
  45. package/build/EntityQueryContext.js.map +1 -1
  46. package/build/EntitySecondaryCacheLoader.js +2 -2
  47. package/build/EntitySecondaryCacheLoader.js.map +1 -1
  48. package/build/ReadonlyEntity.js +3 -4
  49. package/build/ReadonlyEntity.js.map +1 -1
  50. package/build/ViewerScopedEntityCompanion.d.ts +5 -0
  51. package/build/ViewerScopedEntityCompanion.js +6 -0
  52. package/build/ViewerScopedEntityCompanion.js.map +1 -1
  53. package/build/__tests__/EnforcingEntityLoader-test.js +82 -82
  54. package/build/__tests__/EnforcingEntityLoader-test.js.map +1 -1
  55. package/build/__tests__/Entity-test.js +6 -6
  56. package/build/__tests__/Entity-test.js.map +1 -1
  57. package/build/__tests__/EntityAssociationLoader-test.js +40 -40
  58. package/build/__tests__/EntityAssociationLoader-test.js.map +1 -1
  59. package/build/__tests__/EntityCommonUseCases-test.js +11 -11
  60. package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
  61. package/build/__tests__/EntityCompanion-test.js +3 -3
  62. package/build/__tests__/EntityCompanion-test.js.map +1 -1
  63. package/build/__tests__/EntityCompanionProvider-test.js +1 -1
  64. package/build/__tests__/EntityCompanionProvider-test.js.map +1 -1
  65. package/build/__tests__/EntityDatabaseAdapter-test.js +12 -12
  66. package/build/__tests__/EntityDatabaseAdapter-test.js.map +1 -1
  67. package/build/__tests__/EntityEdges-test.js +103 -6
  68. package/build/__tests__/EntityEdges-test.js.map +1 -1
  69. package/build/__tests__/EntityFields-test.js +18 -26
  70. package/build/__tests__/EntityFields-test.js.map +1 -1
  71. package/build/__tests__/EntityLoader-constructor-test.d.ts +22 -0
  72. package/build/__tests__/EntityLoader-constructor-test.js +111 -0
  73. package/build/__tests__/EntityLoader-constructor-test.js.map +1 -0
  74. package/build/__tests__/EntityLoader-test.js +81 -73
  75. package/build/__tests__/EntityLoader-test.js.map +1 -1
  76. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +1 -0
  77. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +81 -0
  78. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -0
  79. package/build/__tests__/EntityMutator-test.js +138 -136
  80. package/build/__tests__/EntityMutator-test.js.map +1 -1
  81. package/build/__tests__/EntityPrivacyPolicy-test.js +143 -67
  82. package/build/__tests__/EntityPrivacyPolicy-test.js.map +1 -1
  83. package/build/__tests__/EntitySecondaryCacheLoader-test.js +15 -15
  84. package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
  85. package/build/__tests__/EntitySelfReferentialEdges-test.js +13 -12
  86. package/build/__tests__/EntitySelfReferentialEdges-test.js.map +1 -1
  87. package/build/__tests__/ReadonlyEntity-test.js +12 -12
  88. package/build/__tests__/ReadonlyEntity-test.js.map +1 -1
  89. package/build/__tests__/ViewerContext-test.js +2 -2
  90. package/build/__tests__/ViewerContext-test.js.map +1 -1
  91. package/build/__tests__/ViewerScopedEntityCompanion-test.js +2 -2
  92. package/build/__tests__/ViewerScopedEntityCompanion-test.js.map +1 -1
  93. package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js +2 -2
  94. package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +1 -1
  95. package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js +5 -5
  96. package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +1 -1
  97. package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js +5 -5
  98. package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +1 -1
  99. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +5 -5
  100. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -1
  101. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +2 -2
  102. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -1
  103. package/build/__tests__/entityUtils-test.js +21 -21
  104. package/build/__tests__/entityUtils-test.js.map +1 -1
  105. package/build/index.d.ts +3 -0
  106. package/build/index.js +5 -1
  107. package/build/index.js.map +1 -1
  108. package/build/internal/EntityDataManager.js +8 -7
  109. package/build/internal/EntityDataManager.js.map +1 -1
  110. package/build/internal/EntityFieldTransformationUtils.js +2 -2
  111. package/build/internal/EntityFieldTransformationUtils.js.map +1 -1
  112. package/build/internal/ReadThroughEntityCache.js +4 -4
  113. package/build/internal/ReadThroughEntityCache.js.map +1 -1
  114. package/build/internal/__tests__/EntityDataManager-test.js +21 -21
  115. package/build/internal/__tests__/EntityDataManager-test.js.map +1 -1
  116. package/build/internal/__tests__/EntityFieldTransformationUtils-test.js +8 -8
  117. package/build/internal/__tests__/EntityFieldTransformationUtils-test.js.map +1 -1
  118. package/build/internal/__tests__/ReadThroughEntityCache-test.js +48 -48
  119. package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +1 -1
  120. package/build/metrics/EntityMetricsUtils.js +1 -1
  121. package/build/metrics/EntityMetricsUtils.js.map +1 -1
  122. package/build/metrics/IEntityMetricsAdapter.d.ts +16 -0
  123. package/build/metrics/IEntityMetricsAdapter.js +6 -1
  124. package/build/metrics/IEntityMetricsAdapter.js.map +1 -1
  125. package/build/metrics/NoOpEntityMetricsAdapter.d.ts +2 -1
  126. package/build/metrics/NoOpEntityMetricsAdapter.js +1 -0
  127. package/build/metrics/NoOpEntityMetricsAdapter.js.map +1 -1
  128. package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +4 -4
  129. package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +1 -1
  130. package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +4 -4
  131. package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +1 -1
  132. package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +4 -4
  133. package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +1 -1
  134. package/build/testfixtures/DateIDTestEntity.js.map +1 -1
  135. package/build/testfixtures/SimpleTestEntity.js.map +1 -1
  136. package/build/testfixtures/TestEntity.d.ts +6 -6
  137. package/build/testfixtures/TestEntity.js +4 -4
  138. package/build/testfixtures/TestEntity.js.map +1 -1
  139. package/build/testfixtures/TestEntity2.d.ts +5 -5
  140. package/build/testfixtures/TestEntity2.js.map +1 -1
  141. package/build/testfixtures/TestEntityNumberKey.js +1 -1
  142. package/build/testfixtures/TestEntityNumberKey.js.map +1 -1
  143. package/build/utils/collections/__tests__/maps-test.js +13 -13
  144. package/build/utils/collections/__tests__/maps-test.js.map +1 -1
  145. package/build/utils/collections/maps.js +1 -1
  146. package/build/utils/collections/maps.js.map +1 -1
  147. package/build/utils/testing/PrivacyPolicyRuleTestUtils.d.ts +6 -6
  148. package/build/utils/testing/PrivacyPolicyRuleTestUtils.js +1 -1
  149. package/build/utils/testing/PrivacyPolicyRuleTestUtils.js.map +1 -1
  150. package/build/utils/testing/StubCacheAdapter.js +1 -1
  151. package/build/utils/testing/StubCacheAdapter.js.map +1 -1
  152. package/build/utils/testing/StubDatabaseAdapter.js +7 -7
  153. package/build/utils/testing/StubDatabaseAdapter.js.map +1 -1
  154. package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js +26 -26
  155. package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js.map +1 -1
  156. package/build/utils/testing/describeFieldTestCase.d.ts +2 -0
  157. package/build/utils/testing/describeFieldTestCase.js +18 -0
  158. package/build/utils/testing/describeFieldTestCase.js.map +1 -0
  159. package/package.json +2 -1
  160. package/src/Entity.ts +10 -2
  161. package/src/EntityAssociationLoader.ts +1 -1
  162. package/src/EntityCompanion.ts +10 -2
  163. package/src/EntityCompanionProvider.ts +5 -9
  164. package/src/EntityConfiguration.ts +1 -1
  165. package/src/EntityDatabaseAdapter.ts +10 -8
  166. package/src/EntityFieldDefinition.ts +124 -0
  167. package/src/EntityFields.ts +11 -126
  168. package/src/EntityLoader.ts +12 -4
  169. package/src/EntityLoaderFactory.ts +5 -2
  170. package/src/EntityMutationInfo.ts +47 -0
  171. package/src/EntityMutationTriggerConfiguration.ts +5 -5
  172. package/src/EntityMutationValidator.ts +10 -4
  173. package/src/EntityMutator.ts +98 -76
  174. package/src/EntityPrivacyPolicy.ts +77 -19
  175. package/src/EntityQueryContext.ts +20 -0
  176. package/src/ReadonlyEntity.ts +3 -2
  177. package/src/ViewerScopedEntityCompanion.ts +8 -0
  178. package/src/__tests__/Entity-test.ts +8 -8
  179. package/src/__tests__/EntityCommonUseCases-test.ts +4 -4
  180. package/src/__tests__/EntityEdges-test.ts +169 -14
  181. package/src/__tests__/EntityFields-test.ts +6 -23
  182. package/src/__tests__/EntityLoader-constructor-test.ts +177 -0
  183. package/src/__tests__/EntityLoader-test.ts +48 -20
  184. package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +105 -0
  185. package/src/__tests__/EntityMutator-test.ts +153 -146
  186. package/src/__tests__/EntityPrivacyPolicy-test.ts +215 -78
  187. package/src/__tests__/EntitySecondaryCacheLoader-test.ts +7 -9
  188. package/src/__tests__/EntitySelfReferentialEdges-test.ts +6 -5
  189. package/src/__tests__/ReadonlyEntity-test.ts +1 -1
  190. package/src/__tests__/ViewerContext-test.ts +7 -6
  191. package/src/__tests__/ViewerScopedEntityCompanion-test.ts +11 -10
  192. package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +4 -3
  193. package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +6 -6
  194. package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +4 -4
  195. package/src/index.ts +3 -0
  196. package/src/internal/EntityDataManager.ts +2 -1
  197. package/src/internal/__tests__/EntityDataManager-test.ts +6 -6
  198. package/src/internal/__tests__/ReadThroughEntityCache-test.ts +15 -13
  199. package/src/metrics/EntityMetricsUtils.ts +56 -50
  200. package/src/metrics/IEntityMetricsAdapter.ts +23 -0
  201. package/src/metrics/NoOpEntityMetricsAdapter.ts +2 -0
  202. package/src/testfixtures/DateIDTestEntity.ts +4 -4
  203. package/src/testfixtures/SimpleTestEntity.ts +4 -4
  204. package/src/testfixtures/TestEntity.ts +8 -8
  205. package/src/testfixtures/TestEntity2.ts +4 -4
  206. package/src/testfixtures/TestEntityNumberKey.ts +6 -6
  207. package/src/utils/testing/StubDatabaseAdapter.ts +4 -4
  208. package/src/utils/testing/__tests__/StubDatabaseAdapter-test.ts +18 -18
  209. package/src/utils/testing/describeFieldTestCase.ts +21 -0
  210. package/CHANGELOG.md +0 -241
@@ -14,12 +14,16 @@ import { v4 as uuidv4 } from 'uuid';
14
14
 
15
15
  import EntityDatabaseAdapter from '../EntityDatabaseAdapter';
16
16
  import EntityLoaderFactory from '../EntityLoaderFactory';
17
+ import {
18
+ EntityMutationType,
19
+ EntityTriggerMutationInfo,
20
+ EntityValidatorMutationInfo,
21
+ } from '../EntityMutationInfo';
17
22
  import EntityMutationTriggerConfiguration, {
18
23
  EntityMutationTrigger,
19
24
  EntityNonTransactionalMutationTrigger,
20
25
  } from '../EntityMutationTriggerConfiguration';
21
26
  import EntityMutationValidator from '../EntityMutationValidator';
22
- import { EntityMutationInfo, EntityMutationType } from '../EntityMutator';
23
27
  import EntityMutatorFactory from '../EntityMutatorFactory';
24
28
  import { EntityTransactionalQueryContext, EntityQueryContext } from '../EntityQueryContext';
25
29
  import ViewerContext from '../ViewerContext';
@@ -53,7 +57,7 @@ class TestMutationTrigger extends EntityMutationTrigger<
53
57
  _viewerContext: ViewerContext,
54
58
  _queryContext: EntityQueryContext,
55
59
  _entity: TestEntity,
56
- _mutationInfo: EntityMutationInfo<
60
+ _mutationInfo: EntityTriggerMutationInfo<
57
61
  TestFields,
58
62
  string,
59
63
  ViewerContext,
@@ -95,7 +99,13 @@ const verifyValidatorCounts = (
95
99
  keyof TestFields
96
100
  >[],
97
101
  expectedCalls: number,
98
- mutationInfo: EntityMutationInfo<TestFields, string, ViewerContext, TestEntity, keyof TestFields>
102
+ mutationInfo: EntityValidatorMutationInfo<
103
+ TestFields,
104
+ string,
105
+ ViewerContext,
106
+ TestEntity,
107
+ keyof TestFields
108
+ >
99
109
  ): void => {
100
110
  for (const validator of mutationValidatorSpies) {
101
111
  verify(
@@ -125,15 +135,15 @@ const setUpMutationTriggerSpies = (
125
135
  keyof TestFields
126
136
  > => {
127
137
  return {
128
- beforeCreate: [spy(mutationTriggers.beforeCreate![0])],
129
- afterCreate: [spy(mutationTriggers.afterCreate![0])],
130
- beforeUpdate: [spy(mutationTriggers.beforeUpdate![0])],
131
- afterUpdate: [spy(mutationTriggers.afterUpdate![0])],
132
- beforeDelete: [spy(mutationTriggers.beforeDelete![0])],
133
- afterDelete: [spy(mutationTriggers.afterDelete![0])],
134
- beforeAll: [spy(mutationTriggers.beforeAll![0])],
135
- afterAll: [spy(mutationTriggers.afterAll![0])],
136
- afterCommit: [spy(mutationTriggers.afterCommit![0])],
138
+ beforeCreate: [spy(mutationTriggers.beforeCreate![0]!)],
139
+ afterCreate: [spy(mutationTriggers.afterCreate![0]!)],
140
+ beforeUpdate: [spy(mutationTriggers.beforeUpdate![0]!)],
141
+ afterUpdate: [spy(mutationTriggers.afterUpdate![0]!)],
142
+ beforeDelete: [spy(mutationTriggers.beforeDelete![0]!)],
143
+ afterDelete: [spy(mutationTriggers.afterDelete![0]!)],
144
+ beforeAll: [spy(mutationTriggers.beforeAll![0]!)],
145
+ afterAll: [spy(mutationTriggers.afterAll![0]!)],
146
+ afterCommit: [spy(mutationTriggers.afterCommit![0]!)],
137
147
  };
138
148
  };
139
149
 
@@ -164,7 +174,13 @@ const verifyTriggerCounts = (
164
174
  >,
165
175
  boolean
166
176
  >,
167
- mutationInfo: EntityMutationInfo<TestFields, string, ViewerContext, TestEntity, keyof TestFields>
177
+ mutationInfo: EntityTriggerMutationInfo<
178
+ TestFields,
179
+ string,
180
+ ViewerContext,
181
+ TestEntity,
182
+ keyof TestFields
183
+ >
168
184
  ): void => {
169
185
  Object.keys(executed).forEach((s) => {
170
186
  if ((executed as any)[s]) {
@@ -189,7 +205,7 @@ const verifyTriggerCounts = (
189
205
  });
190
206
 
191
207
  verify(
192
- mutationTriggerSpies.beforeAll![0].executeAsync(
208
+ mutationTriggerSpies.beforeAll![0]!.executeAsync(
193
209
  viewerContext,
194
210
  anyOfClass(EntityTransactionalQueryContext),
195
211
  anyOfClass(TestEntity),
@@ -198,7 +214,7 @@ const verifyTriggerCounts = (
198
214
  ).once();
199
215
 
200
216
  verify(
201
- mutationTriggerSpies.afterAll![0].executeAsync(
217
+ mutationTriggerSpies.afterAll![0]!.executeAsync(
202
218
  viewerContext,
203
219
  anyOfClass(EntityTransactionalQueryContext),
204
220
  anyOfClass(TestEntity),
@@ -207,7 +223,7 @@ const verifyTriggerCounts = (
207
223
  ).once();
208
224
 
209
225
  verify(
210
- mutationTriggerSpies.afterCommit![0].executeAsync(
226
+ mutationTriggerSpies.afterCommit![0]!.executeAsync(
211
227
  viewerContext,
212
228
  anyOfClass(TestEntity),
213
229
  deepEqual(mutationInfo)
@@ -297,7 +313,8 @@ const createEntityMutatorFactory = (
297
313
  testEntityConfiguration,
298
314
  TestEntity,
299
315
  privacyPolicy,
300
- dataManager
316
+ dataManager,
317
+ metricsAdapter
301
318
  );
302
319
  const entityMutatorFactory = new EntityMutatorFactory(
303
320
  testEntityConfiguration,
@@ -332,7 +349,7 @@ describe(EntityMutatorFactory, () => {
332
349
  customIdField: id1,
333
350
  stringField: 'huh',
334
351
  testIndexedField: '4',
335
- numberField: 1,
352
+ intField: 1,
336
353
  dateField: new Date(),
337
354
  nullableField: null,
338
355
  },
@@ -340,7 +357,7 @@ describe(EntityMutatorFactory, () => {
340
357
  customIdField: id2,
341
358
  stringField: 'huh',
342
359
  testIndexedField: '5',
343
- numberField: 1,
360
+ intField: 1,
344
361
  dateField: new Date(),
345
362
  nullableField: null,
346
363
  },
@@ -363,7 +380,7 @@ describe(EntityMutatorFactory, () => {
363
380
  customIdField: id1,
364
381
  stringField: 'huh',
365
382
  testIndexedField: '4',
366
- numberField: 1,
383
+ intField: 1,
367
384
  dateField: new Date(),
368
385
  nullableField: null,
369
386
  },
@@ -371,7 +388,7 @@ describe(EntityMutatorFactory, () => {
371
388
  customIdField: id2,
372
389
  stringField: 'huh',
373
390
  testIndexedField: '5',
374
- numberField: 1,
391
+ intField: 1,
375
392
  dateField: new Date(),
376
393
  nullableField: null,
377
394
  },
@@ -388,7 +405,8 @@ describe(EntityMutatorFactory, () => {
388
405
  spiedPrivacyPolicy.authorizeCreateAsync(
389
406
  viewerContext,
390
407
  anyOfClass(EntityTransactionalQueryContext),
391
- anyOfClass(TestEntity)
408
+ anyOfClass(TestEntity),
409
+ anything()
392
410
  )
393
411
  ).once();
394
412
  });
@@ -404,7 +422,7 @@ describe(EntityMutatorFactory, () => {
404
422
  customIdField: id1,
405
423
  stringField: 'huh',
406
424
  testIndexedField: '4',
407
- numberField: 1,
425
+ intField: 1,
408
426
  dateField: new Date(),
409
427
  nullableField: null,
410
428
  },
@@ -412,7 +430,7 @@ describe(EntityMutatorFactory, () => {
412
430
  customIdField: id2,
413
431
  stringField: 'huh',
414
432
  testIndexedField: '5',
415
- numberField: 1,
433
+ intField: 1,
416
434
  dateField: new Date(),
417
435
  nullableField: null,
418
436
  },
@@ -451,7 +469,7 @@ describe(EntityMutatorFactory, () => {
451
469
  customIdField: id1,
452
470
  stringField: 'huh',
453
471
  testIndexedField: '4',
454
- numberField: 1,
472
+ intField: 1,
455
473
  dateField: new Date(),
456
474
  nullableField: null,
457
475
  },
@@ -459,7 +477,7 @@ describe(EntityMutatorFactory, () => {
459
477
  customIdField: id2,
460
478
  stringField: 'huh',
461
479
  testIndexedField: '5',
462
- numberField: 1,
480
+ intField: 1,
463
481
  dateField: new Date(),
464
482
  nullableField: null,
465
483
  },
@@ -488,7 +506,7 @@ describe(EntityMutatorFactory, () => {
488
506
  customIdField: id1,
489
507
  stringField: 'huh',
490
508
  testIndexedField: '3',
491
- numberField: 3,
509
+ intField: 3,
492
510
  dateField: new Date(),
493
511
  nullableField: null,
494
512
  },
@@ -496,7 +514,7 @@ describe(EntityMutatorFactory, () => {
496
514
  customIdField: id2,
497
515
  stringField: 'huh',
498
516
  testIndexedField: '4',
499
- numberField: 3,
517
+ intField: 3,
500
518
  dateField: new Date(),
501
519
  nullableField: null,
502
520
  },
@@ -527,28 +545,25 @@ describe(EntityMutatorFactory, () => {
527
545
 
528
546
  const id1 = uuidv4();
529
547
  const id2 = uuidv4();
530
- const {
531
- privacyPolicy,
532
- entityMutatorFactory,
533
- entityLoaderFactory,
534
- } = createEntityMutatorFactory([
535
- {
536
- customIdField: id1,
537
- stringField: 'huh',
538
- testIndexedField: '3',
539
- numberField: 3,
540
- dateField: new Date(),
541
- nullableField: null,
542
- },
543
- {
544
- customIdField: id2,
545
- stringField: 'huh',
546
- testIndexedField: '4',
547
- numberField: 3,
548
- dateField: new Date(),
549
- nullableField: null,
550
- },
551
- ]);
548
+ const { privacyPolicy, entityMutatorFactory, entityLoaderFactory } =
549
+ createEntityMutatorFactory([
550
+ {
551
+ customIdField: id1,
552
+ stringField: 'huh',
553
+ testIndexedField: '3',
554
+ intField: 3,
555
+ dateField: new Date(),
556
+ nullableField: null,
557
+ },
558
+ {
559
+ customIdField: id2,
560
+ stringField: 'huh',
561
+ testIndexedField: '4',
562
+ intField: 3,
563
+ dateField: new Date(),
564
+ nullableField: null,
565
+ },
566
+ ]);
552
567
 
553
568
  const spiedPrivacyPolicy = spy(privacyPolicy);
554
569
 
@@ -565,7 +580,8 @@ describe(EntityMutatorFactory, () => {
565
580
  spiedPrivacyPolicy.authorizeUpdateAsync(
566
581
  viewerContext,
567
582
  anyOfClass(EntityTransactionalQueryContext),
568
- anyOfClass(TestEntity)
583
+ anyOfClass(TestEntity),
584
+ anything()
569
585
  )
570
586
  ).once();
571
587
  });
@@ -576,28 +592,25 @@ describe(EntityMutatorFactory, () => {
576
592
 
577
593
  const id1 = uuidv4();
578
594
  const id2 = uuidv4();
579
- const {
580
- mutationTriggers,
581
- entityMutatorFactory,
582
- entityLoaderFactory,
583
- } = createEntityMutatorFactory([
584
- {
585
- customIdField: id1,
586
- stringField: 'huh',
587
- testIndexedField: '3',
588
- numberField: 3,
589
- dateField: new Date(),
590
- nullableField: null,
591
- },
592
- {
593
- customIdField: id2,
594
- stringField: 'huh',
595
- testIndexedField: '4',
596
- numberField: 3,
597
- dateField: new Date(),
598
- nullableField: null,
599
- },
600
- ]);
595
+ const { mutationTriggers, entityMutatorFactory, entityLoaderFactory } =
596
+ createEntityMutatorFactory([
597
+ {
598
+ customIdField: id1,
599
+ stringField: 'huh',
600
+ testIndexedField: '3',
601
+ intField: 3,
602
+ dateField: new Date(),
603
+ nullableField: null,
604
+ },
605
+ {
606
+ customIdField: id2,
607
+ stringField: 'huh',
608
+ testIndexedField: '4',
609
+ intField: 3,
610
+ dateField: new Date(),
611
+ nullableField: null,
612
+ },
613
+ ]);
601
614
 
602
615
  const triggerSpies = setUpMutationTriggerSpies(mutationTriggers);
603
616
 
@@ -630,28 +643,25 @@ describe(EntityMutatorFactory, () => {
630
643
 
631
644
  const id1 = uuidv4();
632
645
  const id2 = uuidv4();
633
- const {
634
- mutationValidators,
635
- entityMutatorFactory,
636
- entityLoaderFactory,
637
- } = createEntityMutatorFactory([
638
- {
639
- customIdField: id1,
640
- stringField: 'huh',
641
- testIndexedField: '3',
642
- numberField: 3,
643
- dateField: new Date(),
644
- nullableField: null,
645
- },
646
- {
647
- customIdField: id2,
648
- stringField: 'huh',
649
- testIndexedField: '4',
650
- numberField: 3,
651
- dateField: new Date(),
652
- nullableField: null,
653
- },
654
- ]);
646
+ const { mutationValidators, entityMutatorFactory, entityLoaderFactory } =
647
+ createEntityMutatorFactory([
648
+ {
649
+ customIdField: id1,
650
+ stringField: 'huh',
651
+ testIndexedField: '3',
652
+ intField: 3,
653
+ dateField: new Date(),
654
+ nullableField: null,
655
+ },
656
+ {
657
+ customIdField: id2,
658
+ stringField: 'huh',
659
+ testIndexedField: '4',
660
+ intField: 3,
661
+ dateField: new Date(),
662
+ nullableField: null,
663
+ },
664
+ ]);
655
665
 
656
666
  const validatorSpies = setUpMutationValidatorSpies(mutationValidators);
657
667
 
@@ -682,7 +692,7 @@ describe(EntityMutatorFactory, () => {
682
692
  customIdField: id1,
683
693
  stringField: 'huh',
684
694
  testIndexedField: '3',
685
- numberField: 3,
695
+ intField: 3,
686
696
  dateField: new Date(),
687
697
  nullableField: null,
688
698
  },
@@ -707,20 +717,17 @@ describe(EntityMutatorFactory, () => {
707
717
  const queryContext = StubQueryContextProvider.getQueryContext();
708
718
 
709
719
  const id1 = uuidv4();
710
- const {
711
- privacyPolicy,
712
- entityMutatorFactory,
713
- entityLoaderFactory,
714
- } = createEntityMutatorFactory([
715
- {
716
- customIdField: id1,
717
- stringField: 'huh',
718
- testIndexedField: '3',
719
- numberField: 3,
720
- dateField: new Date(),
721
- nullableField: null,
722
- },
723
- ]);
720
+ const { privacyPolicy, entityMutatorFactory, entityLoaderFactory } =
721
+ createEntityMutatorFactory([
722
+ {
723
+ customIdField: id1,
724
+ stringField: 'huh',
725
+ testIndexedField: '3',
726
+ intField: 3,
727
+ dateField: new Date(),
728
+ nullableField: null,
729
+ },
730
+ ]);
724
731
 
725
732
  const spiedPrivacyPolicy = spy(privacyPolicy);
726
733
 
@@ -734,7 +741,8 @@ describe(EntityMutatorFactory, () => {
734
741
  spiedPrivacyPolicy.authorizeDeleteAsync(
735
742
  viewerContext,
736
743
  anyOfClass(EntityTransactionalQueryContext),
737
- anyOfClass(TestEntity)
744
+ anyOfClass(TestEntity),
745
+ anything()
738
746
  )
739
747
  ).once();
740
748
  });
@@ -744,20 +752,17 @@ describe(EntityMutatorFactory, () => {
744
752
  const queryContext = StubQueryContextProvider.getQueryContext();
745
753
 
746
754
  const id1 = uuidv4();
747
- const {
748
- mutationTriggers,
749
- entityMutatorFactory,
750
- entityLoaderFactory,
751
- } = createEntityMutatorFactory([
752
- {
753
- customIdField: id1,
754
- stringField: 'huh',
755
- testIndexedField: '3',
756
- numberField: 3,
757
- dateField: new Date(),
758
- nullableField: null,
759
- },
760
- ]);
755
+ const { mutationTriggers, entityMutatorFactory, entityLoaderFactory } =
756
+ createEntityMutatorFactory([
757
+ {
758
+ customIdField: id1,
759
+ stringField: 'huh',
760
+ testIndexedField: '3',
761
+ intField: 3,
762
+ dateField: new Date(),
763
+ nullableField: null,
764
+ },
765
+ ]);
761
766
 
762
767
  const triggerSpies = setUpMutationTriggerSpies(mutationTriggers);
763
768
 
@@ -778,7 +783,7 @@ describe(EntityMutatorFactory, () => {
778
783
  beforeDelete: true,
779
784
  afterDelete: true,
780
785
  },
781
- { type: EntityMutationType.DELETE }
786
+ { type: EntityMutationType.DELETE, cascadingDeleteCause: null }
782
787
  );
783
788
  });
784
789
 
@@ -787,20 +792,17 @@ describe(EntityMutatorFactory, () => {
787
792
  const queryContext = StubQueryContextProvider.getQueryContext();
788
793
 
789
794
  const id1 = uuidv4();
790
- const {
791
- mutationValidators,
792
- entityMutatorFactory,
793
- entityLoaderFactory,
794
- } = createEntityMutatorFactory([
795
- {
796
- customIdField: id1,
797
- stringField: 'huh',
798
- testIndexedField: '3',
799
- numberField: 3,
800
- dateField: new Date(),
801
- nullableField: null,
802
- },
803
- ]);
795
+ const { mutationValidators, entityMutatorFactory, entityLoaderFactory } =
796
+ createEntityMutatorFactory([
797
+ {
798
+ customIdField: id1,
799
+ stringField: 'huh',
800
+ testIndexedField: '3',
801
+ intField: 3,
802
+ dateField: new Date(),
803
+ nullableField: null,
804
+ },
805
+ ]);
804
806
 
805
807
  const validatorSpies = setUpMutationValidatorSpies(mutationValidators);
806
808
 
@@ -810,7 +812,9 @@ describe(EntityMutatorFactory, () => {
810
812
 
811
813
  await entityMutatorFactory.forDelete(existingEntity, queryContext).enforceDeleteAsync();
812
814
 
813
- verifyValidatorCounts(viewerContext, validatorSpies, 0, { type: EntityMutationType.DELETE });
815
+ verifyValidatorCounts(viewerContext, validatorSpies, 0, {
816
+ type: EntityMutationType.DELETE as any,
817
+ });
814
818
  });
815
819
  });
816
820
 
@@ -824,7 +828,7 @@ describe(EntityMutatorFactory, () => {
824
828
  customIdField: id1,
825
829
  stringField: 'huh',
826
830
  testIndexedField: '3',
827
- numberField: 3,
831
+ intField: 3,
828
832
  dateField: new Date(),
829
833
  nullableField: null,
830
834
  },
@@ -861,7 +865,7 @@ describe(EntityMutatorFactory, () => {
861
865
  customIdField: id1,
862
866
  stringField: 'huh',
863
867
  testIndexedField: '3',
864
- numberField: 3,
868
+ intField: 3,
865
869
  dateField: new Date(),
866
870
  nullableField: null,
867
871
  },
@@ -912,21 +916,24 @@ describe(EntityMutatorFactory, () => {
912
916
  privacyPolicyMock.authorizeCreateAsync(
913
917
  viewerContext,
914
918
  anyOfClass(EntityTransactionalQueryContext),
915
- anyOfClass(SimpleTestEntity)
919
+ anyOfClass(SimpleTestEntity),
920
+ anything()
916
921
  )
917
922
  ).thenReject(rejectionError);
918
923
  when(
919
924
  privacyPolicyMock.authorizeUpdateAsync(
920
925
  viewerContext,
921
926
  anyOfClass(EntityTransactionalQueryContext),
922
- anyOfClass(SimpleTestEntity)
927
+ anyOfClass(SimpleTestEntity),
928
+ anything()
923
929
  )
924
930
  ).thenReject(rejectionError);
925
931
  when(
926
932
  privacyPolicyMock.authorizeDeleteAsync(
927
933
  viewerContext,
928
934
  anyOfClass(EntityTransactionalQueryContext),
929
- anyOfClass(SimpleTestEntity)
935
+ anyOfClass(SimpleTestEntity),
936
+ anything()
930
937
  )
931
938
  ).thenReject(rejectionError);
932
939