From 477170174b42deb059eeced943971fe45e959fbd Mon Sep 17 00:00:00 2001 From: Ria <123465523+riascho@users.noreply.github.com> Date: Sun, 2 Mar 2025 14:01:14 +0100 Subject: [PATCH] adds test setup with nock --- .../nodes/Aws/SES/test/AwsSes.node.test.ts | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/packages/nodes-base/nodes/Aws/SES/test/AwsSes.node.test.ts b/packages/nodes-base/nodes/Aws/SES/test/AwsSes.node.test.ts index dfd4005fe3..68d4855698 100644 --- a/packages/nodes-base/nodes/Aws/SES/test/AwsSes.node.test.ts +++ b/packages/nodes-base/nodes/Aws/SES/test/AwsSes.node.test.ts @@ -90,6 +90,96 @@ describe('AwsSes Node', () => { ], }, }, + { + description: 'should URIencode params for sending email with template', + input: { + workflowData: { + nodes: [ + { + parameters: {}, + type: 'n8n-nodes-base.manualTrigger', + typeVersion: 1, + position: [-180, 520], + id: '363e874a-9054-4a64-bc3f-786719dde626', + name: "When clicking 'Test workflow'", + }, + { + parameters: { + operation: 'sendTemplate', + templateName: '=Template11', + fromEmail: 'test+user@example.com', + toAddresses: ['test+user@example.com'], + templateDataUi: { + templateDataValues: [ + { + key: 'Name', + value: '=Special. Characters @#$%^&*()_-', + }, + ], + }, + additionalFields: {}, + }, + type: 'n8n-nodes-base.awsSes', + typeVersion: 1, + position: [60, 520], + id: '13bbf4ef-8320-45d1-9210-61b62794a108', + name: 'AWS SES4', + credentials: { + aws: { + id: 'Nz0QZhzu3MvfK4TQ', + name: 'AWS account', + }, + }, + }, + ], + connections: { + "When clicking 'Test workflow'": { + main: [ + [ + { + node: 'AWS SES4', + type: NodeConnectionType.Main, + index: 0, + }, + ], + ], + }, + }, + }, + }, + output: { + nodeExecutionOrder: ['Start'], + nodeData: { 'AWS SES': [[{ json: { success: 'true' } }]] }, + }, + nock: { + baseUrl: 'https://email.eu-central-1.amazonaws.com', + mocks: [ + { + method: 'post', + path: '/', + requestBody: (body: any) => { + assert.deepEqual(qs.parse(body), { + Action: 'SendTemplatedEmail', + TemplateName: '=Template11', + Source: encodeURIComponent('test+user@example.com'), + Destination: { + ToAddresses: [encodeURIComponent('test+user@example.com')], + }, + TemplateData: encodeURIComponent( + JSON.stringify({ + Name: '=Special. Characters @#$%^&*()_-', + }), + ), + }); + return true; + }, + statusCode: 200, + responseBody: + 'true', + }, + ], + }, + }, ]; const nodeTypes = Helpers.setup(tests);