From 93bd5aa885e973191c170f15ddf20624d2b128c3 Mon Sep 17 00:00:00 2001 From: Gonzalo Avalos Ribas Date: Tue, 24 Sep 2024 15:14:19 -0300 Subject: [PATCH 1/2] AddnormalizeGraphObjectKey to createMockExecutionContext --- .../integration-sdk-testing/src/executeStepWithDependencies.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/integration-sdk-testing/src/executeStepWithDependencies.ts b/packages/integration-sdk-testing/src/executeStepWithDependencies.ts index 3cc5298b4..e6315f341 100644 --- a/packages/integration-sdk-testing/src/executeStepWithDependencies.ts +++ b/packages/integration-sdk-testing/src/executeStepWithDependencies.ts @@ -65,6 +65,7 @@ export async function executeStepWithDependencies(params: StepTestConfig) { entities: preContext.jobState.collectedEntities, relationships: preContext.jobState.collectedRelationships, setData: preContext.jobState.collectedData, + normalizeGraphObjectKey: invocationConfig.normalizeGraphObjectKey, }), executionConfig, }; From c131d5060a4654e05c8634c8ed924a8f8c1fcd2a Mon Sep 17 00:00:00 2001 From: Gonzalo Avalos Ribas Date: Tue, 24 Sep 2024 15:28:30 -0300 Subject: [PATCH 2/2] Add tests --- .../executeStepWithDependencies.test.ts | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/packages/integration-sdk-testing/src/__tests__/executeStepWithDependencies.test.ts b/packages/integration-sdk-testing/src/__tests__/executeStepWithDependencies.test.ts index 8c9713d52..7f6250804 100644 --- a/packages/integration-sdk-testing/src/__tests__/executeStepWithDependencies.test.ts +++ b/packages/integration-sdk-testing/src/__tests__/executeStepWithDependencies.test.ts @@ -221,5 +221,41 @@ describe('executeStepWithDependencies', () => { expect(stepTwoExecutionHandlerDidExecute).toBe(true); }); + + test('should work with normalizeGraphObjectKey', async () => { + const e1 = getMockEntity(); + const e2 = getMockEntity(); + e2._key = 'KeY2'; + const r1 = createDirectRelationship({ + from: e1, + _class: RelationshipClass.HAS, + to: e2, + }); + + const stepOne = getMockIntegrationStep({ + id: 'step-1', + executionHandler: async ({ jobState }) => { + await jobState.addEntity(e1); + await jobState.addEntity(e2); + if (jobState.hasKey('key2')) { + await jobState.addRelationship(r1); + } + }, + }); + + await expect( + executeStepWithDependencies({ + stepId: stepOne.id, + invocationConfig: getMockInvocationConfig({ + integrationSteps: [stepOne], + normalizeGraphObjectKey: (_key) => _key.toLowerCase(), + }), + instanceConfig: getMockInstanceConfig(), + }), + ).resolves.toMatchObject({ + collectedEntities: [e1, e2], + collectedRelationships: [r1], + }); + }); }); });