@expo/entity 0.34.0 → 0.36.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.
- package/build/AuthorizationResultBasedEntityLoader.d.ts +128 -0
- package/build/AuthorizationResultBasedEntityLoader.js +196 -0
- package/build/AuthorizationResultBasedEntityLoader.js.map +1 -0
- package/build/ComposedEntityCacheAdapter.js +1 -0
- package/build/ComposedEntityCacheAdapter.js.map +1 -1
- package/build/ComposedSecondaryEntityCache.js +1 -0
- package/build/ComposedSecondaryEntityCache.js.map +1 -1
- package/build/EnforcingEntityLoader.d.ts +5 -4
- package/build/EnforcingEntityLoader.js +4 -2
- package/build/EnforcingEntityLoader.js.map +1 -1
- package/build/Entity.d.ts +4 -31
- package/build/Entity.js +19 -46
- package/build/Entity.js.map +1 -1
- package/build/EntityAssociationLoader.d.ts +9 -9
- package/build/EntityAssociationLoader.js +37 -12
- package/build/EntityAssociationLoader.js.map +1 -1
- package/build/EntityCompanion.js +9 -1
- package/build/EntityCompanion.js.map +1 -1
- package/build/EntityCompanionProvider.d.ts +3 -1
- package/build/EntityCompanionProvider.js +10 -4
- package/build/EntityCompanionProvider.js.map +1 -1
- package/build/EntityConfiguration.d.ts +2 -1
- package/build/EntityConfiguration.js +19 -1
- package/build/EntityConfiguration.js.map +1 -1
- package/build/EntityDatabaseAdapter.d.ts +2 -2
- package/build/EntityDatabaseAdapter.js +5 -3
- package/build/EntityDatabaseAdapter.js.map +1 -1
- package/build/EntityFieldDefinition.d.ts +21 -10
- package/build/EntityFieldDefinition.js +8 -9
- package/build/EntityFieldDefinition.js.map +1 -1
- package/build/EntityFields.d.ts +10 -0
- package/build/EntityFields.js +15 -1
- package/build/EntityFields.js.map +1 -1
- package/build/EntityLoader.d.ts +12 -125
- package/build/EntityLoader.js +24 -239
- package/build/EntityLoader.js.map +1 -1
- package/build/EntityLoaderFactory.d.ts +1 -1
- package/build/EntityLoaderFactory.js +3 -0
- package/build/EntityLoaderFactory.js.map +1 -1
- package/build/EntityLoaderUtils.d.ts +58 -0
- package/build/EntityLoaderUtils.js +109 -0
- package/build/EntityLoaderUtils.js.map +1 -0
- package/build/EntityMutator.d.ts +1 -0
- package/build/EntityMutator.js +71 -56
- package/build/EntityMutator.js.map +1 -1
- package/build/EntityMutatorFactory.js +9 -0
- package/build/EntityMutatorFactory.js.map +1 -1
- package/build/EntityPrivacyPolicy.d.ts +11 -5
- package/build/EntityPrivacyPolicy.js +5 -7
- package/build/EntityPrivacyPolicy.js.map +1 -1
- package/build/EntityQueryContext.d.ts +2 -1
- package/build/EntityQueryContext.js +11 -6
- package/build/EntityQueryContext.js.map +1 -1
- package/build/EntityQueryContextProvider.d.ts +1 -1
- package/build/EntityQueryContextProvider.js +1 -1
- package/build/EntityQueryContextProvider.js.map +1 -1
- package/build/EntitySecondaryCacheLoader.js +5 -1
- package/build/EntitySecondaryCacheLoader.js.map +1 -1
- package/build/GenericEntityCacheAdapter.js +1 -0
- package/build/GenericEntityCacheAdapter.js.map +1 -1
- package/build/GenericSecondaryEntityCache.js +2 -0
- package/build/GenericSecondaryEntityCache.js.map +1 -1
- package/build/IEntityCacheAdapterProvider.d.ts +1 -1
- package/build/IEntityDatabaseAdapterProvider.d.ts +1 -1
- package/build/ReadonlyEntity.d.ts +1 -1
- package/build/ReadonlyEntity.js +9 -2
- package/build/ReadonlyEntity.js.map +1 -1
- package/build/ViewerContext.d.ts +2 -2
- package/build/ViewerContext.js +5 -3
- package/build/ViewerContext.js.map +1 -1
- package/build/ViewerScopedEntityCompanion.js +2 -0
- package/build/ViewerScopedEntityCompanion.js.map +1 -1
- package/build/ViewerScopedEntityCompanionProvider.d.ts +0 -1
- package/build/ViewerScopedEntityCompanionProvider.js +2 -1
- package/build/ViewerScopedEntityCompanionProvider.js.map +1 -1
- package/build/ViewerScopedEntityLoaderFactory.d.ts +1 -1
- package/build/ViewerScopedEntityLoaderFactory.js +2 -0
- package/build/ViewerScopedEntityLoaderFactory.js.map +1 -1
- package/build/ViewerScopedEntityMutatorFactory.js +2 -0
- package/build/ViewerScopedEntityMutatorFactory.js.map +1 -1
- package/build/__tests__/ComposedCacheAdapter-test.js +2 -0
- package/build/__tests__/ComposedCacheAdapter-test.js.map +1 -1
- package/build/__tests__/ComposedSecondaryEntityCache-test.js +1 -0
- package/build/__tests__/ComposedSecondaryEntityCache-test.js.map +1 -1
- package/build/__tests__/EnforcingEntityLoader-test.js +101 -113
- package/build/__tests__/EnforcingEntityLoader-test.js.map +1 -1
- package/build/__tests__/Entity-test.js +5 -137
- package/build/__tests__/Entity-test.js.map +1 -1
- package/build/__tests__/EntityAssociationLoader-test.js +37 -65
- package/build/__tests__/EntityAssociationLoader-test.js.map +1 -1
- package/build/__tests__/EntityCommonUseCases-test.js +31 -37
- package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
- package/build/__tests__/EntityCompanion-test.js +26 -3
- package/build/__tests__/EntityCompanion-test.js.map +1 -1
- package/build/__tests__/EntityConfiguration-test.js +103 -0
- package/build/__tests__/EntityConfiguration-test.js.map +1 -0
- package/build/__tests__/EntityDatabaseAdapter-test.js +6 -0
- package/build/__tests__/EntityDatabaseAdapter-test.js.map +1 -1
- package/build/__tests__/EntityEdges-test.js +89 -80
- package/build/__tests__/EntityEdges-test.js.map +1 -1
- package/build/__tests__/EntityFields-test.js +6 -0
- package/build/__tests__/EntityFields-test.js.map +1 -1
- package/build/__tests__/EntityLoader-constructor-test.js +17 -18
- package/build/__tests__/EntityLoader-constructor-test.js.map +1 -1
- package/build/__tests__/EntityLoader-test.js +93 -41
- package/build/__tests__/EntityLoader-test.js.map +1 -1
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +18 -21
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -1
- package/build/__tests__/EntityMutator-test.js +74 -29
- package/build/__tests__/EntityMutator-test.js.map +1 -1
- package/build/__tests__/EntityPrivacyPolicy-test.js +77 -59
- package/build/__tests__/EntityPrivacyPolicy-test.js.map +1 -1
- package/build/__tests__/EntityQueryContext-test.js +9 -0
- package/build/__tests__/EntityQueryContext-test.js.map +1 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.js +10 -10
- package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
- package/build/__tests__/EntitySelfReferentialEdges-test.js +59 -74
- package/build/__tests__/EntitySelfReferentialEdges-test.js.map +1 -1
- package/build/__tests__/ReadonlyEntity-test.js +13 -13
- package/build/__tests__/ReadonlyEntity-test.js.map +1 -1
- package/build/__tests__/ViewerContext-test.js +2 -2
- package/build/__tests__/ViewerContext-test.js.map +1 -1
- package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +26 -28
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +25 -30
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -1
- package/build/entityUtils.d.ts +1 -1
- package/build/entityUtils.js.map +1 -1
- package/build/errors/EntityCacheAdapterError.js +2 -5
- package/build/errors/EntityCacheAdapterError.js.map +1 -1
- package/build/errors/EntityDatabaseAdapterError.js +14 -35
- package/build/errors/EntityDatabaseAdapterError.js.map +1 -1
- package/build/errors/EntityError.js +1 -0
- package/build/errors/EntityError.js.map +1 -1
- package/build/errors/EntityInvalidFieldValueError.js +2 -2
- package/build/errors/EntityInvalidFieldValueError.js.map +1 -1
- package/build/errors/EntityNotAuthorizedError.js +3 -2
- package/build/errors/EntityNotAuthorizedError.js.map +1 -1
- package/build/errors/EntityNotFoundError.js +2 -2
- package/build/errors/EntityNotFoundError.js.map +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/internal/EntityDataManager.d.ts +1 -1
- package/build/internal/EntityDataManager.js +7 -2
- package/build/internal/EntityDataManager.js.map +1 -1
- package/build/internal/EntityFieldTransformationUtils.d.ts +5 -5
- package/build/internal/EntityFieldTransformationUtils.js +5 -8
- package/build/internal/EntityFieldTransformationUtils.js.map +1 -1
- package/build/internal/EntityTableDataCoordinator.d.ts +1 -1
- package/build/internal/EntityTableDataCoordinator.js +5 -0
- package/build/internal/EntityTableDataCoordinator.js.map +1 -1
- package/build/internal/ReadThroughEntityCache.d.ts +1 -1
- package/build/internal/ReadThroughEntityCache.js +2 -0
- package/build/internal/ReadThroughEntityCache.js.map +1 -1
- package/build/internal/__tests__/EntityDataManager-test.js +11 -11
- package/build/internal/__tests__/EntityDataManager-test.js.map +1 -1
- package/build/internal/__tests__/EntityFieldTransformationUtils-test.js +6 -2
- package/build/internal/__tests__/EntityFieldTransformationUtils-test.js.map +1 -1
- package/build/internal/__tests__/ReadThroughEntityCache-test.js +33 -0
- package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +1 -1
- package/build/metrics/IEntityMetricsAdapter.d.ts +1 -1
- package/build/rules/AlwaysAllowPrivacyPolicyRule.d.ts +1 -1
- package/build/rules/AlwaysAllowPrivacyPolicyRule.js.map +1 -1
- package/build/rules/AlwaysDenyPrivacyPolicyRule.d.ts +1 -1
- package/build/rules/AlwaysDenyPrivacyPolicyRule.js.map +1 -1
- package/build/rules/AlwaysSkipPrivacyPolicyRule.d.ts +1 -1
- package/build/rules/AlwaysSkipPrivacyPolicyRule.js.map +1 -1
- package/build/rules/PrivacyPolicyRule.d.ts +1 -1
- package/build/rules/PrivacyPolicyRule.js.map +1 -1
- package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +1 -1
- package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +1 -1
- package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +1 -1
- package/build/testfixtures/DateIDTestEntity.js +12 -15
- package/build/testfixtures/DateIDTestEntity.js.map +1 -1
- package/build/testfixtures/SimpleTestEntity.d.ts +8 -8
- package/build/testfixtures/SimpleTestEntity.js +12 -15
- package/build/testfixtures/SimpleTestEntity.js.map +1 -1
- package/build/testfixtures/TestEntity.d.ts +12 -12
- package/build/testfixtures/TestEntity.js +12 -15
- package/build/testfixtures/TestEntity.js.map +1 -1
- package/build/testfixtures/TestEntity2.d.ts +8 -8
- package/build/testfixtures/TestEntity2.js +12 -15
- package/build/testfixtures/TestEntity2.js.map +1 -1
- package/build/testfixtures/TestEntityNumberKey.js +12 -15
- package/build/testfixtures/TestEntityNumberKey.js.map +1 -1
- package/build/testfixtures/TestEntityWithMutationTriggers.d.ts +36 -0
- package/build/testfixtures/TestEntityWithMutationTriggers.js +82 -0
- package/build/testfixtures/TestEntityWithMutationTriggers.js.map +1 -0
- package/build/testfixtures/TestViewerContext.d.ts +0 -3
- package/build/testfixtures/TestViewerContext.js +0 -6
- package/build/testfixtures/TestViewerContext.js.map +1 -1
- package/build/utils/EntityPrivacyUtils.d.ts +34 -0
- package/build/utils/EntityPrivacyUtils.js +160 -0
- package/build/utils/EntityPrivacyUtils.js.map +1 -0
- package/build/utils/__tests__/EntityPrivacyUtils-test.d.ts +1 -0
- package/build/utils/__tests__/EntityPrivacyUtils-test.js +395 -0
- package/build/utils/__tests__/EntityPrivacyUtils-test.js.map +1 -0
- package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.d.ts +1 -0
- package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js +26 -0
- package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js.map +1 -0
- package/build/utils/collections/maps.js.map +1 -1
- package/build/utils/mergeEntityMutationTriggerConfigurations.d.ts +4 -0
- package/build/utils/mergeEntityMutationTriggerConfigurations.js +28 -0
- package/build/utils/mergeEntityMutationTriggerConfigurations.js.map +1 -0
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.d.ts +1 -1
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.js.map +1 -1
- package/build/utils/testing/StubCacheAdapter.d.ts +3 -3
- package/build/utils/testing/StubCacheAdapter.js +3 -3
- package/build/utils/testing/StubCacheAdapter.js.map +1 -1
- package/build/utils/testing/StubDatabaseAdapter.d.ts +2 -2
- package/build/utils/testing/StubDatabaseAdapter.js +4 -2
- package/build/utils/testing/StubDatabaseAdapter.js.map +1 -1
- package/build/utils/testing/StubDatabaseAdapterProvider.d.ts +1 -1
- package/build/utils/testing/StubDatabaseAdapterProvider.js +1 -3
- package/build/utils/testing/StubDatabaseAdapterProvider.js.map +1 -1
- package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.d.ts +1 -0
- package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.js +42 -0
- package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.js.map +1 -0
- package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js +53 -0
- package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js.map +1 -1
- package/build/utils/testing/describeFieldTestCase.js.map +1 -1
- package/package.json +4 -3
- package/src/AuthorizationResultBasedEntityLoader.ts +297 -0
- package/src/ComposedEntityCacheAdapter.ts +6 -6
- package/src/ComposedSecondaryEntityCache.ts +8 -8
- package/src/EnforcingEntityLoader.ts +20 -19
- package/src/Entity.ts +26 -118
- package/src/EntityAssociationLoader.ts +56 -41
- package/src/EntityCompanion.ts +8 -4
- package/src/EntityCompanionProvider.ts +24 -16
- package/src/EntityConfiguration.ts +18 -7
- package/src/EntityDatabaseAdapter.ts +41 -41
- package/src/EntityFieldDefinition.ts +28 -18
- package/src/EntityFields.ts +15 -0
- package/src/EntityLoader.ts +63 -357
- package/src/EntityLoaderFactory.ts +10 -4
- package/src/EntityLoaderUtils.ts +149 -0
- package/src/EntityMutationInfo.ts +2 -2
- package/src/EntityMutationTriggerConfiguration.ts +5 -5
- package/src/EntityMutationValidator.ts +2 -2
- package/src/EntityMutator.ts +146 -144
- package/src/EntityMutatorFactory.ts +8 -8
- package/src/EntityPrivacyPolicy.ts +78 -28
- package/src/EntityQueryContext.ts +14 -13
- package/src/EntityQueryContextProvider.ts +6 -6
- package/src/EntitySecondaryCacheLoader.ts +13 -11
- package/src/GenericEntityCacheAdapter.ts +10 -10
- package/src/GenericSecondaryEntityCache.ts +6 -6
- package/src/IEntityCacheAdapter.ts +4 -4
- package/src/IEntityCacheAdapterProvider.ts +2 -2
- package/src/IEntityDatabaseAdapterProvider.ts +2 -2
- package/src/ReadonlyEntity.ts +8 -5
- package/src/ViewerContext.ts +10 -10
- package/src/ViewerScopedEntityCompanion.ts +4 -4
- package/src/ViewerScopedEntityCompanionProvider.ts +4 -5
- package/src/ViewerScopedEntityLoaderFactory.ts +10 -4
- package/src/ViewerScopedEntityMutatorFactory.ts +5 -5
- package/src/__tests__/ComposedCacheAdapter-test.ts +12 -10
- package/src/__tests__/ComposedSecondaryEntityCache-test.ts +8 -8
- package/src/__tests__/EnforcingEntityLoader-test.ts +236 -159
- package/src/__tests__/Entity-test.ts +5 -223
- package/src/__tests__/EntityAssociationLoader-test.ts +91 -169
- package/src/__tests__/EntityCommonUseCases-test.ts +36 -38
- package/src/__tests__/EntityCompanion-test.ts +57 -5
- package/src/__tests__/EntityConfiguration-test.ts +118 -0
- package/src/__tests__/EntityDatabaseAdapter-test.ts +11 -11
- package/src/__tests__/EntityEdges-test.ts +128 -118
- package/src/__tests__/EntityFields-test.ts +14 -2
- package/src/__tests__/EntityLoader-constructor-test.ts +21 -8
- package/src/__tests__/EntityLoader-test.ts +233 -105
- package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +17 -20
- package/src/__tests__/EntityMutator-test.ts +342 -163
- package/src/__tests__/EntityPrivacyPolicy-test.ts +166 -53
- package/src/__tests__/EntityQueryContext-test.ts +30 -12
- package/src/__tests__/EntitySecondaryCacheLoader-test.ts +17 -26
- package/src/__tests__/EntitySelfReferentialEdges-test.ts +67 -115
- package/src/__tests__/GenericEntityCacheAdapter-test.ts +2 -2
- package/src/__tests__/ReadonlyEntity-test.ts +13 -15
- package/src/__tests__/ViewerContext-test.ts +3 -4
- package/src/__tests__/ViewerScopedEntityCompanion-test.ts +2 -2
- package/src/__tests__/ViewerScopedEntityCompanionProvider-test.ts +2 -2
- package/src/__tests__/ViewerScopedEntityLoaderFactory-test.ts +2 -1
- package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +34 -45
- package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +22 -30
- package/src/__tests__/entityUtils-test.ts +2 -2
- package/src/entityUtils.ts +4 -4
- package/src/errors/EntityError.ts +4 -1
- package/src/errors/EntityInvalidFieldValueError.ts +2 -2
- package/src/errors/EntityNotAuthorizedError.ts +3 -3
- package/src/errors/EntityNotFoundError.ts +2 -2
- package/src/index.ts +1 -0
- package/src/internal/EntityDataManager.ts +25 -25
- package/src/internal/EntityFieldTransformationUtils.ts +39 -32
- package/src/internal/EntityTableDataCoordinator.ts +3 -3
- package/src/internal/ReadThroughEntityCache.ts +9 -9
- package/src/internal/__tests__/EntityDataManager-test.ts +62 -62
- package/src/internal/__tests__/EntityFieldTransformationUtils-test.ts +14 -10
- package/src/internal/__tests__/ReadThroughEntityCache-test.ts +74 -18
- package/src/metrics/EntityMetricsUtils.ts +4 -4
- package/src/metrics/IEntityMetricsAdapter.ts +1 -1
- package/src/rules/AlwaysAllowPrivacyPolicyRule.ts +9 -3
- package/src/rules/AlwaysDenyPrivacyPolicyRule.ts +9 -3
- package/src/rules/AlwaysSkipPrivacyPolicyRule.ts +9 -3
- package/src/rules/PrivacyPolicyRule.ts +9 -3
- package/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.ts +2 -1
- package/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.ts +2 -1
- package/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.ts +2 -1
- package/src/testfixtures/SimpleTestEntity.ts +8 -8
- package/src/testfixtures/TestEntity.ts +13 -16
- package/src/testfixtures/TestEntity2.ts +8 -8
- package/src/testfixtures/TestEntityWithMutationTriggers.ts +156 -0
- package/src/testfixtures/TestViewerContext.ts +1 -12
- package/src/utils/EntityPrivacyUtils.ts +325 -0
- package/src/utils/__tests__/EntityPrivacyUtils-test.ts +570 -0
- package/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.ts +29 -0
- package/src/utils/collections/__tests__/maps-test.ts +2 -2
- package/src/utils/collections/maps.ts +11 -11
- package/src/utils/mergeEntityMutationTriggerConfigurations.ts +44 -0
- package/src/utils/testing/PrivacyPolicyRuleTestUtils.ts +25 -22
- package/src/utils/testing/StubCacheAdapter.ts +17 -15
- package/src/utils/testing/StubDatabaseAdapter.ts +35 -30
- package/src/utils/testing/StubDatabaseAdapterProvider.ts +2 -2
- package/src/utils/testing/StubQueryContextProvider.ts +2 -2
- package/src/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.ts +42 -0
- package/src/utils/testing/__tests__/StubDatabaseAdapter-test.ts +111 -29
- package/src/utils/testing/createUnitTestEntityCompanionProvider.ts +2 -2
- package/src/utils/testing/describeFieldTestCase.ts +1 -1
- package/build/__tests__/EntityDataConfiguration-test.js +0 -68
- package/build/__tests__/EntityDataConfiguration-test.js.map +0 -1
- package/src/__tests__/EntityDataConfiguration-test.ts +0 -77
- /package/build/__tests__/{EntityDataConfiguration-test.d.ts → EntityConfiguration-test.d.ts} +0 -0
|
@@ -5,28 +5,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const results_1 = require("@expo/results");
|
|
7
7
|
const ts_mockito_1 = require("ts-mockito");
|
|
8
|
+
const AuthorizationResultBasedEntityLoader_1 = __importDefault(require("../AuthorizationResultBasedEntityLoader"));
|
|
8
9
|
const EnforcingEntityLoader_1 = __importDefault(require("../EnforcingEntityLoader"));
|
|
9
|
-
const EntityLoader_1 = __importDefault(require("../EntityLoader"));
|
|
10
10
|
describe(EnforcingEntityLoader_1.default, () => {
|
|
11
11
|
describe('loadManyByFieldEqualingManyAsync', () => {
|
|
12
12
|
it('throws when result is unsuccessful', async () => {
|
|
13
|
-
const
|
|
13
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
14
14
|
const rejection = new Error();
|
|
15
|
-
(0, ts_mockito_1.when)(
|
|
15
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
|
|
16
16
|
hello: [(0, results_1.result)(rejection)],
|
|
17
17
|
})));
|
|
18
|
-
const
|
|
19
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
18
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
19
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
20
20
|
await expect(enforcingEntityLoader.loadManyByFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
|
|
21
21
|
});
|
|
22
22
|
it('returns value when result is successful', async () => {
|
|
23
|
-
const
|
|
23
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
24
24
|
const resolved = {};
|
|
25
|
-
(0, ts_mockito_1.when)(
|
|
25
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
|
|
26
26
|
hello: [(0, results_1.result)(resolved)],
|
|
27
27
|
})));
|
|
28
|
-
const
|
|
29
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
28
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
29
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
30
30
|
await expect(enforcingEntityLoader.loadManyByFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(new Map(Object.entries({
|
|
31
31
|
hello: [resolved],
|
|
32
32
|
})));
|
|
@@ -34,123 +34,119 @@ describe(EnforcingEntityLoader_1.default, () => {
|
|
|
34
34
|
});
|
|
35
35
|
describe('loadManyByFieldEqualingAsync', () => {
|
|
36
36
|
it('throws when result is unsuccessful', async () => {
|
|
37
|
-
const
|
|
37
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
38
38
|
const rejection = new Error();
|
|
39
|
-
(0, ts_mockito_1.when)(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const entityLoader = (0, ts_mockito_1.instance)(entityLoaderMock);
|
|
43
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(entityLoader);
|
|
39
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(rejection)]);
|
|
40
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
41
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
44
42
|
await expect(enforcingEntityLoader.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
|
|
45
43
|
});
|
|
46
44
|
it('returns value when result is successful', async () => {
|
|
47
|
-
const
|
|
45
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
48
46
|
const resolved = {};
|
|
49
|
-
(0, ts_mockito_1.when)(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const entityLoader = (0, ts_mockito_1.instance)(entityLoaderMock);
|
|
53
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(entityLoader);
|
|
47
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(resolved)]);
|
|
48
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
49
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
54
50
|
await expect(enforcingEntityLoader.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual([resolved]);
|
|
55
51
|
});
|
|
56
52
|
});
|
|
57
53
|
describe('loadByFieldEqualingAsync', () => {
|
|
58
54
|
it('throws when result is unsuccessful', async () => {
|
|
59
|
-
const
|
|
55
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
60
56
|
const rejection = new Error();
|
|
61
|
-
(0, ts_mockito_1.when)(
|
|
62
|
-
const
|
|
63
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
57
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
|
|
58
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
59
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
64
60
|
await expect(enforcingEntityLoader.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
|
|
65
61
|
});
|
|
66
62
|
it('returns value when result is successful', async () => {
|
|
67
|
-
const
|
|
63
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
68
64
|
const resolved = {};
|
|
69
|
-
(0, ts_mockito_1.when)(
|
|
70
|
-
const
|
|
71
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
65
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
|
|
66
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
67
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
72
68
|
await expect(enforcingEntityLoader.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
|
|
73
69
|
});
|
|
74
70
|
it('returns null when result is successful and no entity is found', async () => {
|
|
75
|
-
const
|
|
71
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
76
72
|
const resolved = null;
|
|
77
|
-
(0, ts_mockito_1.when)(
|
|
78
|
-
const
|
|
79
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
73
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
|
|
74
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
75
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
80
76
|
await expect(enforcingEntityLoader.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
|
|
81
77
|
});
|
|
82
78
|
it('throws when multiple matching entities are found', async () => {
|
|
83
|
-
const
|
|
79
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
84
80
|
const multipleEntitiesError = new Error();
|
|
85
|
-
(0, ts_mockito_1.when)(
|
|
86
|
-
const
|
|
87
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
81
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenReject(multipleEntitiesError);
|
|
82
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
83
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
88
84
|
await expect(enforcingEntityLoader.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toEqual(multipleEntitiesError);
|
|
89
85
|
});
|
|
90
86
|
});
|
|
91
87
|
describe('loadByIDAsync', () => {
|
|
92
88
|
it('throws when result is unsuccessful', async () => {
|
|
93
|
-
const
|
|
89
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
94
90
|
const rejection = new Error();
|
|
95
|
-
(0, ts_mockito_1.when)(
|
|
96
|
-
const
|
|
97
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
91
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
|
|
92
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
93
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
98
94
|
await expect(enforcingEntityLoader.loadByIDAsync((0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
|
|
99
95
|
});
|
|
100
96
|
it('returns value when result is successful', async () => {
|
|
101
|
-
const
|
|
97
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
102
98
|
const resolved = {};
|
|
103
|
-
(0, ts_mockito_1.when)(
|
|
104
|
-
const
|
|
105
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
99
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
|
|
100
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
101
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
106
102
|
await expect(enforcingEntityLoader.loadByIDAsync((0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
|
|
107
103
|
});
|
|
108
104
|
});
|
|
109
105
|
describe('loadByIDNullableAsync', () => {
|
|
110
106
|
it('throws when result is unsuccessful', async () => {
|
|
111
|
-
const
|
|
107
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
112
108
|
const rejection = new Error();
|
|
113
|
-
(0, ts_mockito_1.when)(
|
|
114
|
-
const
|
|
115
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
109
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDNullableAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
|
|
110
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
111
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
116
112
|
await expect(enforcingEntityLoader.loadByIDNullableAsync((0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
|
|
117
113
|
});
|
|
118
114
|
it('returns value when result is successful', async () => {
|
|
119
|
-
const
|
|
115
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
120
116
|
const resolved = {};
|
|
121
|
-
(0, ts_mockito_1.when)(
|
|
122
|
-
const
|
|
123
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
117
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDNullableAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
|
|
118
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
119
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
124
120
|
await expect(enforcingEntityLoader.loadByIDNullableAsync((0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
|
|
125
121
|
});
|
|
126
122
|
it('returns null when non-existent object', async () => {
|
|
127
|
-
const
|
|
123
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
128
124
|
const resolved = null;
|
|
129
|
-
(0, ts_mockito_1.when)(
|
|
130
|
-
const
|
|
131
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
125
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDNullableAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
|
|
126
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
127
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
132
128
|
await expect(enforcingEntityLoader.loadByIDNullableAsync((0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
|
|
133
129
|
});
|
|
134
130
|
});
|
|
135
131
|
describe('loadManyByIDsAsync', () => {
|
|
136
132
|
it('throws when result is unsuccessful', async () => {
|
|
137
|
-
const
|
|
133
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
138
134
|
const rejection = new Error();
|
|
139
|
-
(0, ts_mockito_1.when)(
|
|
135
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByIDsAsync((0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
|
|
140
136
|
hello: (0, results_1.result)(rejection),
|
|
141
137
|
})));
|
|
142
|
-
const
|
|
143
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
138
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
139
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
144
140
|
await expect(enforcingEntityLoader.loadManyByIDsAsync((0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
|
|
145
141
|
});
|
|
146
142
|
it('returns value when result is successful', async () => {
|
|
147
|
-
const
|
|
143
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
148
144
|
const resolved = {};
|
|
149
|
-
(0, ts_mockito_1.when)(
|
|
145
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByIDsAsync((0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
|
|
150
146
|
hello: (0, results_1.result)(resolved),
|
|
151
147
|
})));
|
|
152
|
-
const
|
|
153
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
148
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
149
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
154
150
|
await expect(enforcingEntityLoader.loadManyByIDsAsync((0, ts_mockito_1.anything)())).resolves.toEqual(new Map(Object.entries({
|
|
155
151
|
hello: resolved,
|
|
156
152
|
})));
|
|
@@ -158,25 +154,25 @@ describe(EnforcingEntityLoader_1.default, () => {
|
|
|
158
154
|
});
|
|
159
155
|
describe('loadManyByIDsNullableAsync', () => {
|
|
160
156
|
it('throws when result is unsuccessful even when there is a null result', async () => {
|
|
161
|
-
const
|
|
157
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
162
158
|
const rejection = new Error();
|
|
163
|
-
(0, ts_mockito_1.when)(
|
|
159
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByIDsNullableAsync((0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
|
|
164
160
|
hello: (0, results_1.result)(rejection),
|
|
165
161
|
world: null,
|
|
166
162
|
})));
|
|
167
|
-
const
|
|
168
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
163
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
164
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
169
165
|
await expect(enforcingEntityLoader.loadManyByIDsNullableAsync((0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
|
|
170
166
|
});
|
|
171
167
|
it('returns value when result is successful', async () => {
|
|
172
|
-
const
|
|
168
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
173
169
|
const resolved = {};
|
|
174
|
-
(0, ts_mockito_1.when)(
|
|
170
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByIDsNullableAsync((0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
|
|
175
171
|
hello: (0, results_1.result)(resolved),
|
|
176
172
|
world: null,
|
|
177
173
|
})));
|
|
178
|
-
const
|
|
179
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
174
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
175
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
180
176
|
await expect(enforcingEntityLoader.loadManyByIDsNullableAsync((0, ts_mockito_1.anything)())).resolves.toEqual(new Map(Object.entries({
|
|
181
177
|
hello: resolved,
|
|
182
178
|
world: null,
|
|
@@ -185,80 +181,72 @@ describe(EnforcingEntityLoader_1.default, () => {
|
|
|
185
181
|
});
|
|
186
182
|
describe('loadFirstByFieldEqualityConjunction', () => {
|
|
187
183
|
it('throws when result is unsuccessful', async () => {
|
|
188
|
-
const
|
|
184
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
189
185
|
const rejection = new Error();
|
|
190
|
-
(0, ts_mockito_1.when)(
|
|
191
|
-
const
|
|
192
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
186
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
|
|
187
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
188
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
193
189
|
await expect(enforcingEntityLoader.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
|
|
194
190
|
});
|
|
195
191
|
it('returns value when result is successful', async () => {
|
|
196
|
-
const
|
|
192
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
197
193
|
const resolved = {};
|
|
198
|
-
(0, ts_mockito_1.when)(
|
|
199
|
-
const
|
|
200
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
194
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
|
|
195
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
196
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
201
197
|
await expect(enforcingEntityLoader.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
|
|
202
198
|
});
|
|
203
199
|
it('returns null when the query is successful but no rows match', async () => {
|
|
204
|
-
const
|
|
205
|
-
(0, ts_mockito_1.when)(
|
|
206
|
-
const
|
|
207
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
200
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
201
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(null);
|
|
202
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
203
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
208
204
|
await expect(enforcingEntityLoader.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toBeNull();
|
|
209
205
|
});
|
|
210
206
|
});
|
|
211
207
|
describe('loadManyByFieldEqualityConjunction', () => {
|
|
212
208
|
it('throws when result is unsuccessful', async () => {
|
|
213
|
-
const
|
|
209
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
214
210
|
const rejection = new Error();
|
|
215
|
-
(0, ts_mockito_1.when)(
|
|
216
|
-
const
|
|
217
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
211
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(rejection)]);
|
|
212
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
213
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
218
214
|
await expect(enforcingEntityLoader.loadManyByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
|
|
219
215
|
});
|
|
220
216
|
it('returns value when result is successful', async () => {
|
|
221
|
-
const
|
|
217
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
222
218
|
const resolved = {};
|
|
223
|
-
(0, ts_mockito_1.when)(
|
|
224
|
-
const
|
|
225
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
219
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(resolved)]);
|
|
220
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
221
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
226
222
|
await expect(enforcingEntityLoader.loadManyByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual([resolved]);
|
|
227
223
|
});
|
|
228
224
|
});
|
|
229
225
|
describe('loadManyByRawWhereClause', () => {
|
|
230
226
|
it('throws when result is unsuccessful', async () => {
|
|
231
|
-
const
|
|
227
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
232
228
|
const rejection = new Error();
|
|
233
|
-
(0, ts_mockito_1.when)(
|
|
234
|
-
const
|
|
235
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
229
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByRawWhereClauseAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(rejection)]);
|
|
230
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
231
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
236
232
|
await expect(enforcingEntityLoader.loadManyByRawWhereClauseAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
|
|
237
233
|
});
|
|
238
234
|
it('returns value when result is successful', async () => {
|
|
239
|
-
const
|
|
235
|
+
const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
|
|
240
236
|
const resolved = {};
|
|
241
|
-
(0, ts_mockito_1.when)(
|
|
242
|
-
const
|
|
243
|
-
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(
|
|
237
|
+
(0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByRawWhereClauseAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(resolved)]);
|
|
238
|
+
const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
|
|
239
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
|
|
244
240
|
await expect(enforcingEntityLoader.loadManyByRawWhereClauseAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual([resolved]);
|
|
245
241
|
});
|
|
246
242
|
});
|
|
247
243
|
it('has the same method names as EntityLoader', () => {
|
|
248
244
|
const enforcingLoaderProperties = Object.getOwnPropertyNames(EnforcingEntityLoader_1.default.prototype);
|
|
249
|
-
const
|
|
245
|
+
const nonEnforcingLoaderProperties = Object.getOwnPropertyNames(AuthorizationResultBasedEntityLoader_1.default.prototype);
|
|
250
246
|
// ensure known differences still exist for sanity check
|
|
251
|
-
const knownLoaderOnlyDifferences = [
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
'invalidateEntityAsync',
|
|
255
|
-
'tryConstructEntities',
|
|
256
|
-
'validateFieldValues',
|
|
257
|
-
'constructAndAuthorizeEntitiesAsync',
|
|
258
|
-
'constructEntity',
|
|
259
|
-
];
|
|
260
|
-
expect(loaderProperties).toEqual(expect.arrayContaining(knownLoaderOnlyDifferences));
|
|
261
|
-
const loaderPropertiesWithoutKnownDifferences = loaderProperties.filter((p) => !knownLoaderOnlyDifferences.includes(p));
|
|
247
|
+
const knownLoaderOnlyDifferences = ['validateFieldValues'];
|
|
248
|
+
expect(nonEnforcingLoaderProperties).toEqual(expect.arrayContaining(knownLoaderOnlyDifferences));
|
|
249
|
+
const loaderPropertiesWithoutKnownDifferences = nonEnforcingLoaderProperties.filter((p) => !knownLoaderOnlyDifferences.includes(p));
|
|
262
250
|
expect(enforcingLoaderProperties).toEqual(loaderPropertiesWithoutKnownDifferences);
|
|
263
251
|
});
|
|
264
252
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnforcingEntityLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EnforcingEntityLoader-test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EnforcingEntityLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EnforcingEntityLoader-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,27 +4,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const Entity_1 = __importDefault(require("../Entity"));
|
|
7
|
-
const EntityConfiguration_1 = __importDefault(require("../EntityConfiguration"));
|
|
8
|
-
const EntityFields_1 = require("../EntityFields");
|
|
9
7
|
const EntityMutator_1 = require("../EntityMutator");
|
|
10
|
-
const
|
|
11
|
-
const AlwaysAllowPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysAllowPrivacyPolicyRule"));
|
|
12
|
-
const AlwaysDenyPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysDenyPrivacyPolicyRule"));
|
|
8
|
+
const ViewerContext_1 = __importDefault(require("../ViewerContext"));
|
|
13
9
|
const SimpleTestEntity_1 = __importDefault(require("../testfixtures/SimpleTestEntity"));
|
|
14
|
-
const TestViewerContext_1 = __importDefault(require("../testfixtures/TestViewerContext"));
|
|
15
10
|
const createUnitTestEntityCompanionProvider_1 = require("../utils/testing/createUnitTestEntityCompanionProvider");
|
|
16
11
|
describe(Entity_1.default, () => {
|
|
17
12
|
describe('creator', () => {
|
|
18
13
|
it('creates a new CreateMutator', () => {
|
|
19
14
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
20
|
-
const viewerContext = new
|
|
21
|
-
expect(SimpleTestEntity_1.default.creator(viewerContext
|
|
15
|
+
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
16
|
+
expect(SimpleTestEntity_1.default.creator(viewerContext)).toBeInstanceOf(EntityMutator_1.CreateMutator);
|
|
22
17
|
});
|
|
23
18
|
});
|
|
24
19
|
describe('updater', () => {
|
|
25
20
|
it('creates a new UpdateMutator', () => {
|
|
26
21
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
27
|
-
const viewerContext = new
|
|
22
|
+
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
28
23
|
const data = {
|
|
29
24
|
id: 'what',
|
|
30
25
|
};
|
|
@@ -34,135 +29,8 @@ describe(Entity_1.default, () => {
|
|
|
34
29
|
databaseFields: data,
|
|
35
30
|
selectedFields: data,
|
|
36
31
|
});
|
|
37
|
-
expect(SimpleTestEntity_1.default.updater(testEntity
|
|
32
|
+
expect(SimpleTestEntity_1.default.updater(testEntity)).toBeInstanceOf(EntityMutator_1.UpdateMutator);
|
|
38
33
|
});
|
|
39
34
|
});
|
|
40
|
-
describe('canViewerUpdateAsync', () => {
|
|
41
|
-
it('appropriately executes update privacy policy', async () => {
|
|
42
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
43
|
-
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
44
|
-
const data = {
|
|
45
|
-
id: 'what',
|
|
46
|
-
};
|
|
47
|
-
const testEntity = new SimpleTestDenyDeleteEntity({
|
|
48
|
-
viewerContext,
|
|
49
|
-
id: 'what',
|
|
50
|
-
databaseFields: data,
|
|
51
|
-
selectedFields: data,
|
|
52
|
-
});
|
|
53
|
-
const canViewerUpdate = await SimpleTestDenyDeleteEntity.canViewerUpdateAsync(testEntity, viewerContext.getQueryContext());
|
|
54
|
-
expect(canViewerUpdate).toBe(true);
|
|
55
|
-
});
|
|
56
|
-
it('denies when policy denies', async () => {
|
|
57
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
58
|
-
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
59
|
-
const data = {
|
|
60
|
-
id: 'what',
|
|
61
|
-
};
|
|
62
|
-
const testEntity = new SimpleTestDenyUpdateEntity({
|
|
63
|
-
viewerContext,
|
|
64
|
-
id: 'what',
|
|
65
|
-
databaseFields: data,
|
|
66
|
-
selectedFields: data,
|
|
67
|
-
});
|
|
68
|
-
const canViewerUpdate = await SimpleTestDenyUpdateEntity.canViewerUpdateAsync(testEntity, viewerContext.getQueryContext());
|
|
69
|
-
expect(canViewerUpdate).toBe(false);
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
describe('canViewerDeleteAsync', () => {
|
|
73
|
-
it('appropriately executes update privacy policy', async () => {
|
|
74
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
75
|
-
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
76
|
-
const data = {
|
|
77
|
-
id: 'what',
|
|
78
|
-
};
|
|
79
|
-
const testEntity = new SimpleTestDenyUpdateEntity({
|
|
80
|
-
viewerContext,
|
|
81
|
-
id: 'what',
|
|
82
|
-
databaseFields: data,
|
|
83
|
-
selectedFields: data,
|
|
84
|
-
});
|
|
85
|
-
const canViewerDelete = await SimpleTestDenyUpdateEntity.canViewerDeleteAsync(testEntity, viewerContext.getQueryContext());
|
|
86
|
-
expect(canViewerDelete).toBe(true);
|
|
87
|
-
});
|
|
88
|
-
it('denies when policy denies', async () => {
|
|
89
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
90
|
-
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
91
|
-
const data = {
|
|
92
|
-
id: 'what',
|
|
93
|
-
};
|
|
94
|
-
const testEntity = new SimpleTestDenyDeleteEntity({
|
|
95
|
-
viewerContext,
|
|
96
|
-
id: 'what',
|
|
97
|
-
databaseFields: data,
|
|
98
|
-
selectedFields: data,
|
|
99
|
-
});
|
|
100
|
-
const canViewerDelete = await SimpleTestDenyDeleteEntity.canViewerDeleteAsync(testEntity, viewerContext.getQueryContext());
|
|
101
|
-
expect(canViewerDelete).toBe(false);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
const testEntityConfiguration = new EntityConfiguration_1.default({
|
|
106
|
-
idField: 'id',
|
|
107
|
-
tableName: 'blah',
|
|
108
|
-
schema: {
|
|
109
|
-
id: new EntityFields_1.UUIDField({
|
|
110
|
-
columnName: 'custom_id',
|
|
111
|
-
}),
|
|
112
|
-
},
|
|
113
|
-
databaseAdapterFlavor: 'postgres',
|
|
114
|
-
cacheAdapterFlavor: 'redis',
|
|
115
35
|
});
|
|
116
|
-
class SimpleTestDenyUpdateEntityPrivacyPolicy extends EntityPrivacyPolicy_1.default {
|
|
117
|
-
constructor() {
|
|
118
|
-
super(...arguments);
|
|
119
|
-
this.readRules = [
|
|
120
|
-
new AlwaysAllowPrivacyPolicyRule_1.default(),
|
|
121
|
-
];
|
|
122
|
-
this.createRules = [
|
|
123
|
-
new AlwaysAllowPrivacyPolicyRule_1.default(),
|
|
124
|
-
];
|
|
125
|
-
this.updateRules = [
|
|
126
|
-
new AlwaysDenyPrivacyPolicyRule_1.default(),
|
|
127
|
-
];
|
|
128
|
-
this.deleteRules = [
|
|
129
|
-
new AlwaysAllowPrivacyPolicyRule_1.default(),
|
|
130
|
-
];
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
class SimpleTestDenyDeleteEntityPrivacyPolicy extends EntityPrivacyPolicy_1.default {
|
|
134
|
-
constructor() {
|
|
135
|
-
super(...arguments);
|
|
136
|
-
this.readRules = [
|
|
137
|
-
new AlwaysAllowPrivacyPolicyRule_1.default(),
|
|
138
|
-
];
|
|
139
|
-
this.createRules = [
|
|
140
|
-
new AlwaysAllowPrivacyPolicyRule_1.default(),
|
|
141
|
-
];
|
|
142
|
-
this.updateRules = [
|
|
143
|
-
new AlwaysAllowPrivacyPolicyRule_1.default(),
|
|
144
|
-
];
|
|
145
|
-
this.deleteRules = [
|
|
146
|
-
new AlwaysDenyPrivacyPolicyRule_1.default(),
|
|
147
|
-
];
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
class SimpleTestDenyUpdateEntity extends Entity_1.default {
|
|
151
|
-
static defineCompanionDefinition() {
|
|
152
|
-
return {
|
|
153
|
-
entityClass: SimpleTestDenyUpdateEntity,
|
|
154
|
-
entityConfiguration: testEntityConfiguration,
|
|
155
|
-
privacyPolicyClass: SimpleTestDenyUpdateEntityPrivacyPolicy,
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
class SimpleTestDenyDeleteEntity extends Entity_1.default {
|
|
160
|
-
static defineCompanionDefinition() {
|
|
161
|
-
return {
|
|
162
|
-
entityClass: SimpleTestDenyDeleteEntity,
|
|
163
|
-
entityConfiguration: testEntityConfiguration,
|
|
164
|
-
privacyPolicyClass: SimpleTestDenyDeleteEntityPrivacyPolicy,
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
36
|
//# sourceMappingURL=Entity-test.js.map
|