diff --git a/packages/nodes-base/nodes/Stripe/helpers.ts b/packages/nodes-base/nodes/Stripe/helpers.ts index cbf163bb60..38823eb12b 100644 --- a/packages/nodes-base/nodes/Stripe/helpers.ts +++ b/packages/nodes-base/nodes/Stripe/helpers.ts @@ -102,10 +102,10 @@ export function adjustMetadata( ) { if (!fields.metadata || isEmpty(fields.metadata)) return fields; - let adjustedMetadata = {}; + const adjustedMetadata: Record = {}; fields.metadata.metadataProperties.forEach(pair => { - adjustedMetadata = { ...adjustedMetadata, ...pair }; + adjustedMetadata[pair.key] = pair.value; }); return { diff --git a/packages/nodes-base/test/nodes/Stripe/helpers.test.js b/packages/nodes-base/test/nodes/Stripe/helpers.test.js new file mode 100644 index 0000000000..a5d480768a --- /dev/null +++ b/packages/nodes-base/test/nodes/Stripe/helpers.test.js @@ -0,0 +1,30 @@ +const helpers = require("../../../nodes/Stripe/helpers"); + +describe('adjustMetadata', () => { + it('it should adjust multiple metadata values', async () => { + const additionalFieldsValues = { + metadata: { + metadataProperties: [ + { + key: "keyA", + value: "valueA" + }, + { + key: "keyB", + value: "valueB" + }, + ], + }, + } + + const adjustedMetadata = helpers.adjustMetadata(additionalFieldsValues) + + const expectedAdjustedMetadata = { + metadata: { + keyA: "valueA", + keyB: "valueB" + } + } + expect(adjustedMetadata).toStrictEqual(expectedAdjustedMetadata) + }); +});