From c05f32cf5f0bce8d9727d94026b757740227c3c0 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 12 Jan 2022 12:19:45 +0100 Subject: [PATCH] sendAccountActivationEmail with object as arg --- .../src/graphql/resolver/UserResolver.test.ts | 12 ++++++------ backend/src/graphql/resolver/UserResolver.ts | 17 +++++++++++------ .../mailer/sendAccountActivationEmail.test.ts | 7 ++++++- .../src/mailer/sendAccountActivationEmail.ts | 18 +++++++++--------- 4 files changed, 32 insertions(+), 22 deletions(-) diff --git a/backend/src/graphql/resolver/UserResolver.test.ts b/backend/src/graphql/resolver/UserResolver.test.ts index 0348a4c4e..1f0bce30f 100644 --- a/backend/src/graphql/resolver/UserResolver.test.ts +++ b/backend/src/graphql/resolver/UserResolver.test.ts @@ -163,12 +163,12 @@ describe('UserResolver', () => { describe('account activation email', () => { it('sends an account activation email', () => { const activationLink = CONFIG.EMAIL_LINK_VERIFICATION.replace(/\$1/g, emailOptIn) - expect(sendAccountActivationEmail).toBeCalledWith( - activationLink, - 'Peter', - 'Lustig', - 'peter@lustig.de', - ) + expect(sendAccountActivationEmail).toBeCalledWith({ + link: activationLink, + firstName: 'Peter', + lastName: 'Lustig', + email: 'peter@lustig.de', + }) }) }) diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index b37c69f87..b751eb633 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -451,7 +451,12 @@ export class UserResolver { /\$1/g, emailOptIn.verificationCode.toString(), ) - const emailSent = await sendAccountActivationEmail(activationLink, firstName, lastName, email) + const emailSent = await sendAccountActivationEmail({ + link: activationLink, + firstName, + lastName, + email, + }) // In case EMails are disabled log the activation link for the user if (!emailSent) { @@ -485,12 +490,12 @@ export class UserResolver { emailOptIn.verificationCode.toString(), ) - const emailSent = await sendAccountActivationEmail( - activationLink, - loginUser.firstName, - loginUser.lastName, + const emailSent = await sendAccountActivationEmail({ + link: activationLink, + firstName: loginUser.firstName, + lastName: loginUser.lastName, email, - ) + }) // In case EMails are disabled log the activation link for the user if (!emailSent) { diff --git a/backend/src/mailer/sendAccountActivationEmail.test.ts b/backend/src/mailer/sendAccountActivationEmail.test.ts index e1c41b088..c53fc0994 100644 --- a/backend/src/mailer/sendAccountActivationEmail.test.ts +++ b/backend/src/mailer/sendAccountActivationEmail.test.ts @@ -10,7 +10,12 @@ jest.mock('./sendEMail', () => { describe('sendAccountActivationEmail', () => { beforeEach(async () => { - await sendAccountActivationEmail('activationLink', 'Peter', 'Lustig', 'peter@lustig.de') + await sendAccountActivationEmail({ + link: 'activationLink', + firstName: 'Peter', + lastName: 'Lustig', + email: 'peter@lustig.de', + }) }) it('calls sendEMail', () => { diff --git a/backend/src/mailer/sendAccountActivationEmail.ts b/backend/src/mailer/sendAccountActivationEmail.ts index 4252eac46..42d7c54f9 100644 --- a/backend/src/mailer/sendAccountActivationEmail.ts +++ b/backend/src/mailer/sendAccountActivationEmail.ts @@ -1,20 +1,20 @@ import { sendEMail } from './sendEMail' -export const sendAccountActivationEmail = ( - activationLink: string, - firstName: string, - lastName: string, - email: string, -): Promise => { +export const sendAccountActivationEmail = (data: { + link: string + firstName: string + lastName: string + email: string +}): Promise => { return sendEMail({ - to: `${firstName} ${lastName} <${email}>`, + to: `${data.firstName} ${data.lastName} <${data.email}>`, subject: 'Gradido: E-Mail Überprüfung', - text: `Hallo ${firstName} ${lastName}, + text: `Hallo ${data.firstName} ${data.lastName}, Deine EMail wurde soeben bei Gradido registriert. Klicke bitte auf diesen Link, um die Registrierung abzuschließen und dein Gradido-Konto zu aktivieren: -${activationLink} +${data.link} oder kopiere den obigen Link in dein Browserfenster. Mit freundlichen Grüßen,