@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.
- package/build/EnforcingEntityLoader.js +2 -2
- package/build/EnforcingEntityLoader.js.map +1 -1
- package/build/Entity.js +8 -2
- package/build/Entity.js.map +1 -1
- package/build/EntityAssociationLoader.js +3 -3
- package/build/EntityAssociationLoader.js.map +1 -1
- package/build/EntityCompanion.d.ts +5 -0
- package/build/EntityCompanion.js +8 -1
- package/build/EntityCompanion.js.map +1 -1
- package/build/EntityCompanionProvider.d.ts +1 -1
- package/build/EntityCompanionProvider.js +5 -5
- package/build/EntityCompanionProvider.js.map +1 -1
- package/build/EntityConfiguration.d.ts +1 -1
- package/build/EntityConfiguration.js +3 -3
- package/build/EntityConfiguration.js.map +1 -1
- package/build/EntityDatabaseAdapter.d.ts +4 -4
- package/build/EntityDatabaseAdapter.js +13 -13
- package/build/EntityDatabaseAdapter.js.map +1 -1
- package/build/EntityFieldDefinition.d.ts +77 -0
- package/build/EntityFieldDefinition.js +53 -0
- package/build/EntityFieldDefinition.js.map +1 -0
- package/build/EntityFields.d.ts +5 -78
- package/build/EntityFields.js +19 -61
- package/build/EntityFields.js.map +1 -1
- package/build/EntityLoader.d.ts +3 -1
- package/build/EntityLoader.js +19 -15
- package/build/EntityLoader.js.map +1 -1
- package/build/EntityLoaderFactory.d.ts +3 -1
- package/build/EntityLoaderFactory.js +3 -2
- package/build/EntityLoaderFactory.js.map +1 -1
- package/build/EntityMutationInfo.d.ts +26 -0
- package/build/EntityMutationInfo.js +10 -0
- package/build/EntityMutationInfo.js.map +1 -0
- package/build/EntityMutationTriggerConfiguration.d.ts +4 -4
- package/build/EntityMutationValidator.d.ts +3 -3
- package/build/EntityMutationValidator.js.map +1 -1
- package/build/EntityMutator.d.ts +5 -16
- package/build/EntityMutator.js +62 -58
- package/build/EntityMutator.js.map +1 -1
- package/build/EntityPrivacyPolicy.d.ts +5 -4
- package/build/EntityPrivacyPolicy.js +60 -12
- package/build/EntityPrivacyPolicy.js.map +1 -1
- package/build/EntityQueryContext.d.ts +13 -0
- package/build/EntityQueryContext.js +18 -0
- package/build/EntityQueryContext.js.map +1 -1
- package/build/EntitySecondaryCacheLoader.js +2 -2
- package/build/EntitySecondaryCacheLoader.js.map +1 -1
- package/build/ReadonlyEntity.js +3 -4
- package/build/ReadonlyEntity.js.map +1 -1
- package/build/ViewerScopedEntityCompanion.d.ts +5 -0
- package/build/ViewerScopedEntityCompanion.js +6 -0
- package/build/ViewerScopedEntityCompanion.js.map +1 -1
- package/build/__tests__/EnforcingEntityLoader-test.js +82 -82
- package/build/__tests__/EnforcingEntityLoader-test.js.map +1 -1
- package/build/__tests__/Entity-test.js +6 -6
- package/build/__tests__/Entity-test.js.map +1 -1
- package/build/__tests__/EntityAssociationLoader-test.js +40 -40
- package/build/__tests__/EntityAssociationLoader-test.js.map +1 -1
- package/build/__tests__/EntityCommonUseCases-test.js +11 -11
- package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
- package/build/__tests__/EntityCompanion-test.js +3 -3
- package/build/__tests__/EntityCompanion-test.js.map +1 -1
- package/build/__tests__/EntityCompanionProvider-test.js +1 -1
- package/build/__tests__/EntityCompanionProvider-test.js.map +1 -1
- package/build/__tests__/EntityDatabaseAdapter-test.js +12 -12
- package/build/__tests__/EntityDatabaseAdapter-test.js.map +1 -1
- package/build/__tests__/EntityEdges-test.js +103 -6
- package/build/__tests__/EntityEdges-test.js.map +1 -1
- package/build/__tests__/EntityFields-test.js +18 -26
- package/build/__tests__/EntityFields-test.js.map +1 -1
- package/build/__tests__/EntityLoader-constructor-test.d.ts +22 -0
- package/build/__tests__/EntityLoader-constructor-test.js +111 -0
- package/build/__tests__/EntityLoader-constructor-test.js.map +1 -0
- package/build/__tests__/EntityLoader-test.js +81 -73
- package/build/__tests__/EntityLoader-test.js.map +1 -1
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +1 -0
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +81 -0
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -0
- package/build/__tests__/EntityMutator-test.js +138 -136
- package/build/__tests__/EntityMutator-test.js.map +1 -1
- package/build/__tests__/EntityPrivacyPolicy-test.js +143 -67
- package/build/__tests__/EntityPrivacyPolicy-test.js.map +1 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.js +15 -15
- package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
- package/build/__tests__/EntitySelfReferentialEdges-test.js +13 -12
- package/build/__tests__/EntitySelfReferentialEdges-test.js.map +1 -1
- package/build/__tests__/ReadonlyEntity-test.js +12 -12
- 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__/ViewerScopedEntityCompanion-test.js +2 -2
- package/build/__tests__/ViewerScopedEntityCompanion-test.js.map +1 -1
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js +2 -2
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +1 -1
- package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js +5 -5
- package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +1 -1
- package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js +5 -5
- package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +5 -5
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +2 -2
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -1
- package/build/__tests__/entityUtils-test.js +21 -21
- package/build/__tests__/entityUtils-test.js.map +1 -1
- package/build/index.d.ts +3 -0
- package/build/index.js +5 -1
- package/build/index.js.map +1 -1
- package/build/internal/EntityDataManager.js +8 -7
- package/build/internal/EntityDataManager.js.map +1 -1
- package/build/internal/EntityFieldTransformationUtils.js +2 -2
- package/build/internal/EntityFieldTransformationUtils.js.map +1 -1
- package/build/internal/ReadThroughEntityCache.js +4 -4
- package/build/internal/ReadThroughEntityCache.js.map +1 -1
- package/build/internal/__tests__/EntityDataManager-test.js +21 -21
- package/build/internal/__tests__/EntityDataManager-test.js.map +1 -1
- package/build/internal/__tests__/EntityFieldTransformationUtils-test.js +8 -8
- package/build/internal/__tests__/EntityFieldTransformationUtils-test.js.map +1 -1
- package/build/internal/__tests__/ReadThroughEntityCache-test.js +48 -48
- package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +1 -1
- package/build/metrics/EntityMetricsUtils.js +1 -1
- package/build/metrics/EntityMetricsUtils.js.map +1 -1
- package/build/metrics/IEntityMetricsAdapter.d.ts +16 -0
- package/build/metrics/IEntityMetricsAdapter.js +6 -1
- package/build/metrics/IEntityMetricsAdapter.js.map +1 -1
- package/build/metrics/NoOpEntityMetricsAdapter.d.ts +2 -1
- package/build/metrics/NoOpEntityMetricsAdapter.js +1 -0
- package/build/metrics/NoOpEntityMetricsAdapter.js.map +1 -1
- package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +4 -4
- package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +1 -1
- package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +4 -4
- package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +1 -1
- package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +4 -4
- package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +1 -1
- package/build/testfixtures/DateIDTestEntity.js.map +1 -1
- package/build/testfixtures/SimpleTestEntity.js.map +1 -1
- package/build/testfixtures/TestEntity.d.ts +6 -6
- package/build/testfixtures/TestEntity.js +4 -4
- package/build/testfixtures/TestEntity.js.map +1 -1
- package/build/testfixtures/TestEntity2.d.ts +5 -5
- package/build/testfixtures/TestEntity2.js.map +1 -1
- package/build/testfixtures/TestEntityNumberKey.js +1 -1
- package/build/testfixtures/TestEntityNumberKey.js.map +1 -1
- package/build/utils/collections/__tests__/maps-test.js +13 -13
- package/build/utils/collections/__tests__/maps-test.js.map +1 -1
- package/build/utils/collections/maps.js +1 -1
- package/build/utils/collections/maps.js.map +1 -1
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.d.ts +6 -6
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.js +1 -1
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.js.map +1 -1
- package/build/utils/testing/StubCacheAdapter.js +1 -1
- package/build/utils/testing/StubCacheAdapter.js.map +1 -1
- package/build/utils/testing/StubDatabaseAdapter.js +7 -7
- package/build/utils/testing/StubDatabaseAdapter.js.map +1 -1
- package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js +26 -26
- package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js.map +1 -1
- package/build/utils/testing/describeFieldTestCase.d.ts +2 -0
- package/build/utils/testing/describeFieldTestCase.js +18 -0
- package/build/utils/testing/describeFieldTestCase.js.map +1 -0
- package/package.json +2 -1
- package/src/Entity.ts +10 -2
- package/src/EntityAssociationLoader.ts +1 -1
- package/src/EntityCompanion.ts +10 -2
- package/src/EntityCompanionProvider.ts +5 -9
- package/src/EntityConfiguration.ts +1 -1
- package/src/EntityDatabaseAdapter.ts +10 -8
- package/src/EntityFieldDefinition.ts +124 -0
- package/src/EntityFields.ts +11 -126
- package/src/EntityLoader.ts +12 -4
- package/src/EntityLoaderFactory.ts +5 -2
- package/src/EntityMutationInfo.ts +47 -0
- package/src/EntityMutationTriggerConfiguration.ts +5 -5
- package/src/EntityMutationValidator.ts +10 -4
- package/src/EntityMutator.ts +98 -76
- package/src/EntityPrivacyPolicy.ts +77 -19
- package/src/EntityQueryContext.ts +20 -0
- package/src/ReadonlyEntity.ts +3 -2
- package/src/ViewerScopedEntityCompanion.ts +8 -0
- package/src/__tests__/Entity-test.ts +8 -8
- package/src/__tests__/EntityCommonUseCases-test.ts +4 -4
- package/src/__tests__/EntityEdges-test.ts +169 -14
- package/src/__tests__/EntityFields-test.ts +6 -23
- package/src/__tests__/EntityLoader-constructor-test.ts +177 -0
- package/src/__tests__/EntityLoader-test.ts +48 -20
- package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +105 -0
- package/src/__tests__/EntityMutator-test.ts +153 -146
- package/src/__tests__/EntityPrivacyPolicy-test.ts +215 -78
- package/src/__tests__/EntitySecondaryCacheLoader-test.ts +7 -9
- package/src/__tests__/EntitySelfReferentialEdges-test.ts +6 -5
- package/src/__tests__/ReadonlyEntity-test.ts +1 -1
- package/src/__tests__/ViewerContext-test.ts +7 -6
- package/src/__tests__/ViewerScopedEntityCompanion-test.ts +11 -10
- package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +4 -3
- package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +6 -6
- package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +4 -4
- package/src/index.ts +3 -0
- package/src/internal/EntityDataManager.ts +2 -1
- package/src/internal/__tests__/EntityDataManager-test.ts +6 -6
- package/src/internal/__tests__/ReadThroughEntityCache-test.ts +15 -13
- package/src/metrics/EntityMetricsUtils.ts +56 -50
- package/src/metrics/IEntityMetricsAdapter.ts +23 -0
- package/src/metrics/NoOpEntityMetricsAdapter.ts +2 -0
- package/src/testfixtures/DateIDTestEntity.ts +4 -4
- package/src/testfixtures/SimpleTestEntity.ts +4 -4
- package/src/testfixtures/TestEntity.ts +8 -8
- package/src/testfixtures/TestEntity2.ts +4 -4
- package/src/testfixtures/TestEntityNumberKey.ts +6 -6
- package/src/utils/testing/StubDatabaseAdapter.ts +4 -4
- package/src/utils/testing/__tests__/StubDatabaseAdapter-test.ts +18 -18
- package/src/utils/testing/describeFieldTestCase.ts +21 -0
- package/CHANGELOG.md +0 -241
|
@@ -14,26 +14,26 @@ const createUnitTestEntityCompanionProvider_1 = require("../utils/testing/create
|
|
|
14
14
|
describe(EntityAssociationLoader_1.default, () => {
|
|
15
15
|
describe('loadAssociatedEntityAsync', () => {
|
|
16
16
|
it('loads associated entities by ID and correctly handles a null value', async () => {
|
|
17
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
17
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
18
18
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
19
|
-
const testOtherEntity = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
20
|
-
const testEntity = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext)
|
|
19
|
+
const testOtherEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
20
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext)
|
|
21
21
|
.setField('stringField', testOtherEntity.getID())
|
|
22
22
|
.createAsync());
|
|
23
|
-
const loadedOther = await results_1.enforceAsyncResult(testEntity.associationLoader().loadAssociatedEntityAsync('stringField', TestEntity_1.default));
|
|
23
|
+
const loadedOther = await (0, results_1.enforceAsyncResult)(testEntity.associationLoader().loadAssociatedEntityAsync('stringField', TestEntity_1.default));
|
|
24
24
|
expect(loadedOther.getID()).toEqual(testOtherEntity.getID());
|
|
25
|
-
const loadedOther2 = await results_1.enforceAsyncResult(testEntity.associationLoader().loadAssociatedEntityAsync('nullableField', TestEntity_1.default));
|
|
25
|
+
const loadedOther2 = await (0, results_1.enforceAsyncResult)(testEntity.associationLoader().loadAssociatedEntityAsync('nullableField', TestEntity_1.default));
|
|
26
26
|
expect(loadedOther2).toBeNull();
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
29
|
describe('loadManyAssociatedEntitiesAsync', () => {
|
|
30
30
|
it('loads many associated entities referencing this entity', async () => {
|
|
31
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
31
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
32
32
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
33
|
-
const testEntity = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
34
|
-
const testOtherEntity1 = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
|
|
35
|
-
const testOtherEntity2 = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
|
|
36
|
-
const loaded = await entityUtils_1.enforceResultsAsync(testEntity.associationLoader().loadManyAssociatedEntitiesAsync(TestEntity_1.default, 'stringField'));
|
|
33
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
34
|
+
const testOtherEntity1 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
|
|
35
|
+
const testOtherEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
|
|
36
|
+
const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity.associationLoader().loadManyAssociatedEntitiesAsync(TestEntity_1.default, 'stringField'));
|
|
37
37
|
expect(loaded).toHaveLength(2);
|
|
38
38
|
expect(loaded.find((e) => e.getID() === testOtherEntity1.getID())).not.toBeUndefined();
|
|
39
39
|
expect(loaded.find((e) => e.getID() === testOtherEntity2.getID())).not.toBeUndefined();
|
|
@@ -41,10 +41,10 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
41
41
|
});
|
|
42
42
|
describe('loadAssociatedEntityByFieldEqualingAsync', () => {
|
|
43
43
|
it('loads associated entity by field equaling', async () => {
|
|
44
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
44
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
45
45
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
46
|
-
const testOtherEntity = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
47
|
-
const testEntity = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext)
|
|
46
|
+
const testOtherEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
47
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext)
|
|
48
48
|
.setField('stringField', testOtherEntity.getID())
|
|
49
49
|
.createAsync());
|
|
50
50
|
const loadedOtherResult = await testEntity
|
|
@@ -53,18 +53,18 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
53
53
|
expect(loadedOtherResult === null || loadedOtherResult === void 0 ? void 0 : loadedOtherResult.enforceValue().getID()).toEqual(testOtherEntity.getID());
|
|
54
54
|
});
|
|
55
55
|
it('returns null when loading associated entities by field equaling a non existent association', async () => {
|
|
56
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
56
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
57
57
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
58
|
-
const testEntity = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).setField('stringField', uuid_1.v4()).createAsync());
|
|
58
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', (0, uuid_1.v4)()).createAsync());
|
|
59
59
|
const loadedOtherResult = await testEntity
|
|
60
60
|
.associationLoader()
|
|
61
61
|
.loadAssociatedEntityByFieldEqualingAsync('stringField', TestEntity_1.default, 'customIdField');
|
|
62
62
|
expect(loadedOtherResult).toBeNull();
|
|
63
63
|
});
|
|
64
64
|
it('returns null when load-by field is null', async () => {
|
|
65
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
65
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
66
66
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
67
|
-
const testEntity = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).setField('stringField', 'blah').createAsync());
|
|
67
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', 'blah').createAsync());
|
|
68
68
|
const loadedOtherResult = await testEntity
|
|
69
69
|
.associationLoader()
|
|
70
70
|
.loadAssociatedEntityByFieldEqualingAsync('nullableField', TestEntity_1.default, 'customIdField');
|
|
@@ -73,12 +73,12 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
73
73
|
});
|
|
74
74
|
describe('loadManyAssociatedEntitiesByFieldEqualingAsync', () => {
|
|
75
75
|
it('loads many associated entities by field equaling', async () => {
|
|
76
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
76
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
77
77
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
78
|
-
const testEntity = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
79
|
-
const testOtherEntity1 = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
|
|
80
|
-
const testOtherEntity2 = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
|
|
81
|
-
const loaded = await entityUtils_1.enforceResultsAsync(testEntity
|
|
78
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
79
|
+
const testOtherEntity1 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
|
|
80
|
+
const testOtherEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
|
|
81
|
+
const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity
|
|
82
82
|
.associationLoader()
|
|
83
83
|
.loadManyAssociatedEntitiesByFieldEqualingAsync('customIdField', TestEntity_1.default, 'stringField'));
|
|
84
84
|
expect(loaded).toHaveLength(2);
|
|
@@ -86,10 +86,10 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
86
86
|
expect(loaded.find((e) => e.getID() === testOtherEntity2.getID())).not.toBeUndefined();
|
|
87
87
|
});
|
|
88
88
|
it('returns empty results when field being queried by is null', async () => {
|
|
89
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
89
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
90
90
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
91
|
-
const testEntity = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
92
|
-
const loaded = await entityUtils_1.enforceResultsAsync(testEntity
|
|
91
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
92
|
+
const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity
|
|
93
93
|
.associationLoader()
|
|
94
94
|
.loadManyAssociatedEntitiesByFieldEqualingAsync('nullableField', TestEntity_1.default, 'stringField'));
|
|
95
95
|
expect(loaded).toHaveLength(0);
|
|
@@ -97,14 +97,14 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
97
97
|
});
|
|
98
98
|
describe('loadAssociatedEntityThroughAsync', () => {
|
|
99
99
|
it('chain loads associated entities', async () => {
|
|
100
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
100
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
101
101
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
102
|
-
const testEntity4 = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
103
|
-
const testEntity3 = await results_1.enforceAsyncResult(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', testEntity4.getID()).createAsync());
|
|
104
|
-
const testEntity2 = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext)
|
|
102
|
+
const testEntity4 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
|
|
103
|
+
const testEntity3 = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', testEntity4.getID()).createAsync());
|
|
104
|
+
const testEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext)
|
|
105
105
|
.setField('testIndexedField', testEntity3.getID())
|
|
106
106
|
.createAsync());
|
|
107
|
-
const testEntity = await results_1.enforceAsyncResult(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', testEntity2.getID()).createAsync());
|
|
107
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', testEntity2.getID()).createAsync());
|
|
108
108
|
const loaded2Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
109
109
|
{
|
|
110
110
|
associatedEntityClass: TestEntity_1.default,
|
|
@@ -140,9 +140,9 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
140
140
|
expect(loaded4Result === null || loaded4Result === void 0 ? void 0 : loaded4Result.enforceValue().getID()).toEqual(testEntity4.getID());
|
|
141
141
|
});
|
|
142
142
|
it('fails when chain loading associated entity fails', async () => {
|
|
143
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
143
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
144
144
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
145
|
-
const testEntity = await results_1.enforceAsyncResult(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', uuid_1.v4()).createAsync());
|
|
145
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', (0, uuid_1.v4)()).createAsync());
|
|
146
146
|
const loadResult = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
147
147
|
{
|
|
148
148
|
associatedEntityClass: TestEntity_1.default,
|
|
@@ -152,11 +152,11 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
152
152
|
expect(loadResult === null || loadResult === void 0 ? void 0 : loadResult.ok).toBe(false);
|
|
153
153
|
});
|
|
154
154
|
it('supports chain loading by field equality', async () => {
|
|
155
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
155
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
156
156
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
157
|
-
const fieldValue = uuid_1.v4();
|
|
158
|
-
const testEntity2 = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).setField('stringField', fieldValue).createAsync());
|
|
159
|
-
const testEntity = await results_1.enforceAsyncResult(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', fieldValue).createAsync());
|
|
157
|
+
const fieldValue = (0, uuid_1.v4)();
|
|
158
|
+
const testEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', fieldValue).createAsync());
|
|
159
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', fieldValue).createAsync());
|
|
160
160
|
const loaded2Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
161
161
|
{
|
|
162
162
|
associatedEntityClass: TestEntity_1.default,
|
|
@@ -167,9 +167,9 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
167
167
|
expect(loaded2Result === null || loaded2Result === void 0 ? void 0 : loaded2Result.enforceValue().getID()).toEqual(testEntity2.getID());
|
|
168
168
|
});
|
|
169
169
|
it('returns null when chain loading by field equality returns null', async () => {
|
|
170
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
170
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
171
171
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
172
|
-
const testEntity = await results_1.enforceAsyncResult(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', uuid_1.v4()).createAsync());
|
|
172
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', (0, uuid_1.v4)()).createAsync());
|
|
173
173
|
const loaded2Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
174
174
|
{
|
|
175
175
|
associatedEntityClass: TestEntity_1.default,
|
|
@@ -180,9 +180,9 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
180
180
|
expect(loaded2Result).toBeNull();
|
|
181
181
|
});
|
|
182
182
|
it('returns null when chain loading by field is null', async () => {
|
|
183
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
183
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
184
184
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
185
|
-
const testEntity = await results_1.enforceAsyncResult(TestEntity_1.default.creator(viewerContext).setField('nullableField', null).createAsync());
|
|
185
|
+
const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('nullableField', null).createAsync());
|
|
186
186
|
const loadedResult = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
187
187
|
{
|
|
188
188
|
associatedEntityClass: TestEntity_1.default,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityAssociationLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityAssociationLoader-test.ts"],"names":[],"mappings":";;;;;AAAA,2CAAmD;AACnD,+BAAoC;AAEpC,yFAAiE;AACjE,gDAAqD;AACrD,4EAAoD;AACpD,8EAAsD;AACtD,0FAAkE;AAClE,kHAA+G;AAE/G,QAAQ,CAAC,iCAAuB,EAAE,GAAG,EAAE;IACrC,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,iBAAiB,GAAG,6EAAqC,
|
|
1
|
+
{"version":3,"file":"EntityAssociationLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityAssociationLoader-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,29 +100,29 @@ const blahCompanion = new EntityCompanionProvider_1.EntityCompanionDefinition({
|
|
|
100
100
|
it('runs through a common workflow', async () => {
|
|
101
101
|
// will be one entity companion provider for each request, so
|
|
102
102
|
// share amongst all VCs created in that request
|
|
103
|
-
const entityCompanionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
104
|
-
const vc1 = new TestUserViewerContext(entityCompanionProvider, uuid_1.v4());
|
|
105
|
-
const vc2 = new TestUserViewerContext(entityCompanionProvider, uuid_1.v4());
|
|
106
|
-
const blahOwner1 = await results_1.enforceAsyncResult(BlahEntity.creator(vc1).setField('ownerID', vc1.getUserID()).createAsync());
|
|
107
|
-
await results_1.enforceAsyncResult(BlahEntity.creator(vc1).setField('ownerID', vc1.getUserID()).createAsync());
|
|
108
|
-
const blahOwner2 = await results_1.enforceAsyncResult(BlahEntity.creator(vc2).setField('ownerID', vc2.getUserID()).createAsync());
|
|
103
|
+
const entityCompanionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
104
|
+
const vc1 = new TestUserViewerContext(entityCompanionProvider, (0, uuid_1.v4)());
|
|
105
|
+
const vc2 = new TestUserViewerContext(entityCompanionProvider, (0, uuid_1.v4)());
|
|
106
|
+
const blahOwner1 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1).setField('ownerID', vc1.getUserID()).createAsync());
|
|
107
|
+
await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1).setField('ownerID', vc1.getUserID()).createAsync());
|
|
108
|
+
const blahOwner2 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2).setField('ownerID', vc2.getUserID()).createAsync());
|
|
109
109
|
// sanity check created objects
|
|
110
110
|
expect(blahOwner1.getField('ownerID')).toEqual(vc1.getUserID());
|
|
111
111
|
expect(blahOwner2.getField('ownerID')).toEqual(vc2.getUserID());
|
|
112
112
|
// check that two people can't read each others data
|
|
113
|
-
await expect(results_1.enforceAsyncResult(BlahEntity.loader(vc1).loadByIDAsync(blahOwner2.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
114
|
-
await expect(results_1.enforceAsyncResult(BlahEntity.loader(vc2).loadByIDAsync(blahOwner1.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
113
|
+
await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc1).loadByIDAsync(blahOwner2.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
114
|
+
await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc2).loadByIDAsync(blahOwner1.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
115
115
|
// check that all of owner 1's objects can be loaded
|
|
116
|
-
const results = await entityUtils_1.enforceResultsAsync(BlahEntity.loader(vc1).loadManyByFieldEqualingAsync('ownerID', vc1.getUserID()));
|
|
116
|
+
const results = await (0, entityUtils_1.enforceResultsAsync)(BlahEntity.loader(vc1).loadManyByFieldEqualingAsync('ownerID', vc1.getUserID()));
|
|
117
117
|
expect(results).toHaveLength(2);
|
|
118
118
|
// check that two people can't create objects owned by others
|
|
119
|
-
await expect(results_1.enforceAsyncResult(BlahEntity.creator(vc2).setField('ownerID', blahOwner1.getID()).createAsync())).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
119
|
+
await expect((0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2).setField('ownerID', blahOwner1.getID()).createAsync())).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
120
120
|
// check that empty load many returns nothing
|
|
121
121
|
const results2 = await BlahEntity.loader(vc1).loadManyByFieldEqualingManyAsync('ownerID', []);
|
|
122
122
|
for (const value in results2.values) {
|
|
123
123
|
expect(value).toHaveLength(0);
|
|
124
124
|
}
|
|
125
125
|
// check that the user can't delete their own data (as specified by privacy rules)
|
|
126
|
-
await expect(results_1.enforceAsyncResult(BlahEntity.deleteAsync(blahOwner2))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
126
|
+
await expect((0, results_1.enforceAsyncResult)(BlahEntity.deleteAsync(blahOwner2))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
127
127
|
});
|
|
128
128
|
//# sourceMappingURL=EntityCommonUseCases-test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityCommonUseCases-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCommonUseCases-test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAmD;AACnD,+BAAoC;AAEpC,uDAA+B;AAC/B,wEAAgG;AAChG,iFAAyD;AACzD,kDAA4C;AAC5C,iFAAyD;AAEzD,qEAA6C;AAC7C,gDAAqD;AACrD,kGAA0E;AAC1E,yGAAiF;AACjF,uGAA+E;AAC/E,gFAAqF;AACrF,kHAA+G;AAE/G,MAAM,qBAAsB,SAAQ,uBAAa;IAC/C,YAAY,uBAAgD,EAAmB,MAAc;QAC3F,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAD8C,WAAM,GAAN,MAAM,CAAQ;IAE7F,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAOD,MAAM,UAAW,SAAQ,gBAAiD;IACxE,MAAM,CAAC,sBAAsB;QAO3B,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAED,MAAM,+BAAgC,SAAQ,2BAK7C;IACC,KAAK,CAAC,aAAa,CACjB,aAAoC,EACpC,aAAiC,EACjC,MAAkB;QAElB,IAAI,aAAa,CAAC,SAAS,EAAE,KAAK,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC5D,OAAO,wCAAoB,CAAC,IAAI,CAAC;SAClC;QACD,OAAO,wCAAoB,CAAC,IAAI,CAAC;IACnC,CAAC;CACF;AAED,MAAM,uBAAwB,SAAQ,6BAKrC;IALD;;
|
|
1
|
+
{"version":3,"file":"EntityCommonUseCases-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCommonUseCases-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,9 +29,9 @@ const EntityMutatorFactory_1 = __importDefault(require("../EntityMutatorFactory"
|
|
|
29
29
|
const TestEntity_1 = __importStar(require("../testfixtures/TestEntity"));
|
|
30
30
|
describe(EntityCompanion_1.default, () => {
|
|
31
31
|
it('correctly instantiates mutator and loader factories', () => {
|
|
32
|
-
const tableDataCoordinatorMock = ts_mockito_1.mock();
|
|
33
|
-
ts_mockito_1.when(tableDataCoordinatorMock.entityConfiguration).thenReturn(TestEntity_1.testEntityConfiguration);
|
|
34
|
-
const companion = new EntityCompanion_1.default(TestEntity_1.default, ts_mockito_1.instance(tableDataCoordinatorMock), TestEntity_1.TestEntityPrivacyPolicy, [], {}, ts_mockito_1.instance(ts_mockito_1.mock()));
|
|
32
|
+
const tableDataCoordinatorMock = (0, ts_mockito_1.mock)();
|
|
33
|
+
(0, ts_mockito_1.when)(tableDataCoordinatorMock.entityConfiguration).thenReturn(TestEntity_1.testEntityConfiguration);
|
|
34
|
+
const companion = new EntityCompanion_1.default(TestEntity_1.default, (0, ts_mockito_1.instance)(tableDataCoordinatorMock), TestEntity_1.TestEntityPrivacyPolicy, [], {}, (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)()));
|
|
35
35
|
expect(companion.getLoaderFactory()).toBeInstanceOf(EntityLoaderFactory_1.default);
|
|
36
36
|
expect(companion.getMutatorFactory()).toBeInstanceOf(EntityMutatorFactory_1.default);
|
|
37
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityCompanion-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCompanion-test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkD;AAElD,yEAAiD;AACjD,iFAAyD;AACzD,mFAA2D;AAG3D,yEAIoC;AAEpC,QAAQ,CAAC,yBAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,wBAAwB,GAAG,iBAAI,
|
|
1
|
+
{"version":3,"file":"EntityCompanion-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCompanion-test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkD;AAElD,yEAAiD;AACjD,iFAAyD;AACzD,mFAA2D;AAG3D,yEAIoC;AAEpC,QAAQ,CAAC,yBAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,wBAAwB,GAAG,IAAA,iBAAI,GAA0C,CAAC;QAChF,IAAA,iBAAI,EAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,oCAAuB,CAAC,CAAC;QAEvF,MAAM,SAAS,GAAG,IAAI,yBAAe,CACnC,oBAAU,EACV,IAAA,qBAAQ,EAAC,wBAAwB,CAAC,EAClC,oCAAuB,EACvB,EAAE,EACF,EAAE,EACF,IAAA,qBAAQ,EAAC,IAAA,iBAAI,GAAyB,CAAC,CACxC,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,cAAc,CAAC,6BAAmB,CAAC,CAAC;QACzE,MAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,cAAc,CAAC,8BAAoB,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -65,7 +65,7 @@ const blah2CompanionDefinition = new EntityCompanionProvider_1.EntityCompanionDe
|
|
|
65
65
|
});
|
|
66
66
|
describe(EntityCompanionProvider_1.default, () => {
|
|
67
67
|
it('returns different instances for different entity types, but share table data coordinators', () => {
|
|
68
|
-
const entityCompanionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
68
|
+
const entityCompanionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
69
69
|
const companion1 = entityCompanionProvider.getCompanionForEntity(Blah1Entity, blah1CompanionDefinition);
|
|
70
70
|
const companion2 = entityCompanionProvider.getCompanionForEntity(Blah2Entity, blah2CompanionDefinition);
|
|
71
71
|
expect(companion1).not.toEqual(companion2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityCompanionProvider-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCompanionProvider-test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA+B;AAC/B,sFAAgG;AAChG,iFAAyD;AACzD,kDAA8C;AAC9C,iFAAyD;AAEzD,kHAA+G;AAM/G,MAAM,iBAAiB,GAAG,IAAI,6BAAmB,CAAa;IAC5D,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE;QACN,KAAK,EAAE,IAAI,0BAAW,CAAC;YACrB,UAAU,EAAE,OAAO;SACpB,CAAC;KACH;IACD,qBAAqB,EAAE,UAAU;IACjC,kBAAkB,EAAE,OAAO;CAC5B,CAAC,CAAC;AAEH,MAAM,WAAY,SAAQ,gBAAyC;IACjE,MAAM,CAAC,sBAAsB;QAO3B,OAAO,wBAAwB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,WAAY,SAAQ,gBAAyC;IACjE,MAAM,CAAC,sBAAsB;QAO3B,OAAO,wBAAwB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,sBAAuB,SAAQ,6BAKpC;CAAG;AACJ,MAAM,sBAAuB,SAAQ,6BAKpC;CAAG;AAEJ,MAAM,wBAAwB,GAAG,IAAI,mDAAyB,CAAC;IAC7D,WAAW,EAAE,WAAW;IACxB,mBAAmB,EAAE,iBAAiB;IACtC,kBAAkB,EAAE,sBAAsB;CAC3C,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,IAAI,mDAAyB,CAAC;IAC7D,WAAW,EAAE,WAAW;IACxB,mBAAmB,EAAE,iBAAiB;IACtC,kBAAkB,EAAE,sBAAsB;CAC3C,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,2FAA2F,EAAE,GAAG,EAAE;QACnG,MAAM,uBAAuB,GAAG,6EAAqC,
|
|
1
|
+
{"version":3,"file":"EntityCompanionProvider-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCompanionProvider-test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA+B;AAC/B,sFAAgG;AAChG,iFAAyD;AACzD,kDAA8C;AAC9C,iFAAyD;AAEzD,kHAA+G;AAM/G,MAAM,iBAAiB,GAAG,IAAI,6BAAmB,CAAa;IAC5D,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE;QACN,KAAK,EAAE,IAAI,0BAAW,CAAC;YACrB,UAAU,EAAE,OAAO;SACpB,CAAC;KACH;IACD,qBAAqB,EAAE,UAAU;IACjC,kBAAkB,EAAE,OAAO;CAC5B,CAAC,CAAC;AAEH,MAAM,WAAY,SAAQ,gBAAyC;IACjE,MAAM,CAAC,sBAAsB;QAO3B,OAAO,wBAAwB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,WAAY,SAAQ,gBAAyC;IACjE,MAAM,CAAC,sBAAsB;QAO3B,OAAO,wBAAwB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,sBAAuB,SAAQ,6BAKpC;CAAG;AACJ,MAAM,sBAAuB,SAAQ,6BAKpC;CAAG;AAEJ,MAAM,wBAAwB,GAAG,IAAI,mDAAyB,CAAC;IAC7D,WAAW,EAAE,WAAW;IACxB,mBAAmB,EAAE,iBAAiB;IACtC,kBAAkB,EAAE,sBAAsB;CAC3C,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,IAAI,mDAAyB,CAAC;IAC7D,WAAW,EAAE,WAAW;IACxB,mBAAmB,EAAE,iBAAiB;IACtC,kBAAkB,EAAE,sBAAsB;CAC3C,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,2FAA2F,EAAE,GAAG,EAAE;QACnG,MAAM,uBAAuB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QACxE,MAAM,UAAU,GAAG,uBAAuB,CAAC,qBAAqB,CAC9D,WAAW,EACX,wBAAwB,CACzB,CAAC;QAEF,MAAM,UAAU,GAAG,uBAAuB,CAAC,qBAAqB,CAC9D,WAAW,EACX,wBAAwB,CACzB,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -42,13 +42,13 @@ class TestEntityDatabaseAdapter extends EntityDatabaseAdapter_1.default {
|
|
|
42
42
|
describe(EntityDatabaseAdapter_1.default, () => {
|
|
43
43
|
describe('fetchManyWhereAsync', () => {
|
|
44
44
|
it('transforms object', async () => {
|
|
45
|
-
const queryContext = ts_mockito_1.instance(ts_mockito_1.mock(EntityQueryContext_1.EntityQueryContext));
|
|
45
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
46
46
|
const adapter = new TestEntityDatabaseAdapter({ fetchResults: [{ string_field: 'hello' }] });
|
|
47
47
|
const result = await adapter.fetchManyWhereAsync(queryContext, 'stringField', ['hello']);
|
|
48
48
|
expect(result.get('hello')).toEqual([{ stringField: 'hello' }]);
|
|
49
49
|
});
|
|
50
50
|
it('returns objects keyed by queried values', async () => {
|
|
51
|
-
const queryContext = ts_mockito_1.instance(ts_mockito_1.mock(EntityQueryContext_1.EntityQueryContext));
|
|
51
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
52
52
|
const adapter = new TestEntityDatabaseAdapter({
|
|
53
53
|
fetchResults: [{ string_field: 'hello' }, { string_field: 'wat' }],
|
|
54
54
|
});
|
|
@@ -60,7 +60,7 @@ describe(EntityDatabaseAdapter_1.default, () => {
|
|
|
60
60
|
expect(result.get('wat')).toEqual([{ stringField: 'wat' }]);
|
|
61
61
|
});
|
|
62
62
|
it('returns map with all keys even when no results are returned', async () => {
|
|
63
|
-
const queryContext = ts_mockito_1.instance(ts_mockito_1.mock(EntityQueryContext_1.EntityQueryContext));
|
|
63
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
64
64
|
const adapter = new TestEntityDatabaseAdapter({});
|
|
65
65
|
const result = await adapter.fetchManyWhereAsync(queryContext, 'stringField', [
|
|
66
66
|
'what',
|
|
@@ -71,7 +71,7 @@ describe(EntityDatabaseAdapter_1.default, () => {
|
|
|
71
71
|
});
|
|
72
72
|
describe('fetchManyByFieldEqualityConjunction', () => {
|
|
73
73
|
it('transforms object', async () => {
|
|
74
|
-
const queryContext = ts_mockito_1.instance(ts_mockito_1.mock(EntityQueryContext_1.EntityQueryContext));
|
|
74
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
75
75
|
const adapter = new TestEntityDatabaseAdapter({
|
|
76
76
|
fetchEqualityConditionResults: [{ string_field: 'hello' }],
|
|
77
77
|
});
|
|
@@ -81,7 +81,7 @@ describe(EntityDatabaseAdapter_1.default, () => {
|
|
|
81
81
|
});
|
|
82
82
|
describe('fetchManyWithRawWhereClause', () => {
|
|
83
83
|
it('transforms object', async () => {
|
|
84
|
-
const queryContext = ts_mockito_1.instance(ts_mockito_1.mock(EntityQueryContext_1.EntityQueryContext));
|
|
84
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
85
85
|
const adapter = new TestEntityDatabaseAdapter({
|
|
86
86
|
fetchRawWhereResults: [{ string_field: 'hello' }],
|
|
87
87
|
});
|
|
@@ -91,18 +91,18 @@ describe(EntityDatabaseAdapter_1.default, () => {
|
|
|
91
91
|
});
|
|
92
92
|
describe('insertAsync', () => {
|
|
93
93
|
it('transforms object', async () => {
|
|
94
|
-
const queryContext = ts_mockito_1.instance(ts_mockito_1.mock(EntityQueryContext_1.EntityQueryContext));
|
|
94
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
95
95
|
const adapter = new TestEntityDatabaseAdapter({ insertResults: [{ string_field: 'hello' }] });
|
|
96
96
|
const result = await adapter.insertAsync(queryContext, {});
|
|
97
97
|
expect(result).toEqual({ stringField: 'hello' });
|
|
98
98
|
});
|
|
99
99
|
it('throws when insert result count zero', async () => {
|
|
100
|
-
const queryContext = ts_mockito_1.instance(ts_mockito_1.mock(EntityQueryContext_1.EntityQueryContext));
|
|
100
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
101
101
|
const adapter = new TestEntityDatabaseAdapter({ insertResults: [] });
|
|
102
102
|
await expect(adapter.insertAsync(queryContext, {})).rejects.toThrowError('Empty results from database adapter insert');
|
|
103
103
|
});
|
|
104
104
|
it('throws when insert result count greater than 1', async () => {
|
|
105
|
-
const queryContext = ts_mockito_1.instance(ts_mockito_1.mock(EntityQueryContext_1.EntityQueryContext));
|
|
105
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
106
106
|
const adapter = new TestEntityDatabaseAdapter({
|
|
107
107
|
insertResults: [{ string_field: 'hello' }, { string_field: 'hello2' }],
|
|
108
108
|
});
|
|
@@ -111,18 +111,18 @@ describe(EntityDatabaseAdapter_1.default, () => {
|
|
|
111
111
|
});
|
|
112
112
|
describe('updateAsync', () => {
|
|
113
113
|
it('transforms object', async () => {
|
|
114
|
-
const queryContext = ts_mockito_1.instance(ts_mockito_1.mock(EntityQueryContext_1.EntityQueryContext));
|
|
114
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
115
115
|
const adapter = new TestEntityDatabaseAdapter({ updateResults: [{ string_field: 'hello' }] });
|
|
116
116
|
const result = await adapter.updateAsync(queryContext, 'customIdField', 'wat', {});
|
|
117
117
|
expect(result).toEqual({ stringField: 'hello' });
|
|
118
118
|
});
|
|
119
119
|
it('throws when update result count zero', async () => {
|
|
120
|
-
const queryContext = ts_mockito_1.instance(ts_mockito_1.mock(EntityQueryContext_1.EntityQueryContext));
|
|
120
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
121
121
|
const adapter = new TestEntityDatabaseAdapter({ updateResults: [] });
|
|
122
122
|
await expect(adapter.updateAsync(queryContext, 'customIdField', 'wat', {})).rejects.toThrowError('Empty results from database adapter update');
|
|
123
123
|
});
|
|
124
124
|
it('throws when update result count greater than 1', async () => {
|
|
125
|
-
const queryContext = ts_mockito_1.instance(ts_mockito_1.mock(EntityQueryContext_1.EntityQueryContext));
|
|
125
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
126
126
|
const adapter = new TestEntityDatabaseAdapter({
|
|
127
127
|
updateResults: [{ string_field: 'hello' }, { string_field: 'hello2' }],
|
|
128
128
|
});
|
|
@@ -131,7 +131,7 @@ describe(EntityDatabaseAdapter_1.default, () => {
|
|
|
131
131
|
});
|
|
132
132
|
describe('deleteAsync', () => {
|
|
133
133
|
it('throws when update result count greater than 1', async () => {
|
|
134
|
-
const queryContext = ts_mockito_1.instance(ts_mockito_1.mock(EntityQueryContext_1.EntityQueryContext));
|
|
134
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
135
135
|
const adapter = new TestEntityDatabaseAdapter({ deleteCount: 2 });
|
|
136
136
|
await expect(adapter.deleteAsync(queryContext, 'customIdField', 'wat')).rejects.toThrowError('Excessive deletions from database adapter delet');
|
|
137
137
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityDatabaseAdapter-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityDatabaseAdapter-test.ts"],"names":[],"mappings":";;;;;AAAA,2CAA4C;AAE5C,qFAGkC;AAClC,8DAA2D;AAE3D,2DAAiF;AAEjF,MAAM,yBAA0B,SAAQ,+BAAiC;IAQvE,YAAY,EACV,YAAY,GAAG,EAAE,EACjB,aAAa,GAAG,EAAE,EAClB,aAAa,GAAG,EAAE,EAClB,6BAA6B,GAAG,EAAE,EAClC,oBAAoB,GAAG,EAAE,EACzB,WAAW,GAAG,CAAC,GAQhB;QACC,KAAK,CAAC,oCAAuB,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,6BAA6B,GAAG,6BAA6B,CAAC;QACnE,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAES,sBAAsB;QAC9B,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAES,KAAK,CAAC,2BAA2B,CACzC,eAAoB,EACpB,UAAkB,EAClB,WAAmB,EACnB,YAA4B;QAE5B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAES,KAAK,CAAC,sCAAsC,CACpD,eAAoB,EACpB,UAAkB,EAClB,eAAuB,EACvB,SAAyB;QAEzB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAES,KAAK,CAAC,gDAAgD,CAC9D,eAAoB,EACpB,UAAkB,EAClB,sCAAgF,EAChF,qCAA8E;QAE9E,OAAO,IAAI,CAAC,6BAA6B,CAAC;IAC5C,CAAC;IAES,KAAK,CAAC,mBAAmB,CACjC,eAAoB,EACpB,UAAkB,EAClB,OAAe;QAEf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,mBAAmB,CACjC,eAAoB,EACpB,UAAkB,EAClB,aAAqB,EACrB,GAAQ,EACR,OAAe;QAEf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,mBAAmB,CACjC,eAAoB,EACpB,UAAkB,EAClB,aAAqB,EACrB,GAAQ;QAER,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,QAAQ,CAAC,+BAAqB,EAAE,GAAG,EAAE;IACnC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,YAAY,GAAG,qBAAQ,
|
|
1
|
+
{"version":3,"file":"EntityDatabaseAdapter-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityDatabaseAdapter-test.ts"],"names":[],"mappings":"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"}
|