sendAccountActivationEmail with object as arg

This commit is contained in:
Moriz Wahl 2022-01-12 12:19:45 +01:00
parent b1520182a2
commit c05f32cf5f
4 changed files with 32 additions and 22 deletions

View File

@ -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',
})
})
})

View File

@ -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) {

View File

@ -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', () => {

View File

@ -1,20 +1,20 @@
import { sendEMail } from './sendEMail'
export const sendAccountActivationEmail = (
activationLink: string,
firstName: string,
lastName: string,
email: string,
): Promise<boolean> => {
export const sendAccountActivationEmail = (data: {
link: string
firstName: string
lastName: string
email: string
}): Promise<boolean> => {
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,