diff --git a/backend/src/emails/sendEmailVariants.test.ts b/backend/src/emails/sendEmailVariants.test.ts
index 28e441b5b..e3655a405 100644
--- a/backend/src/emails/sendEmailVariants.test.ts
+++ b/backend/src/emails/sendEmailVariants.test.ts
@@ -31,6 +31,11 @@ let testEnv: {
con: Connection
}
+// TODO
+// when https://gdd.gradido.net/img/gradido-email-header.jpg is on production,
+// replace this URL by https://gdd.gradido.net/img/brand/gradido-email-header.png
+const headerImageURL = 'https://cdn.discordapp.com/attachments/913740067208564736/1107629904306110595/Kopf-Grafik.png'
+
beforeAll(async () => {
testEnv = await testEnvironment(logger, localization)
con = testEnv.con
@@ -108,10 +113,7 @@ describe('sendEmailVariants', () => {
it('has correct header', () => {
expect(result.originalMessage.html).toContain(
- 'src="https://gdd.gradido.net/img/brand/gradido-logo.png"',
- )
- expect(result.originalMessage.html).toContain(
- 'src="https://gdd.gradido.net/img/template/Blaetter.png"',
+ `src="${headerImageURL}"`,
)
})
@@ -231,10 +233,7 @@ describe('sendEmailVariants', () => {
it('has correct header', () => {
expect(result.originalMessage.html).toContain(
- 'src="https://gdd.gradido.net/img/brand/gradido-logo.png"',
- )
- expect(result.originalMessage.html).toContain(
- 'src="https://gdd.gradido.net/img/template/Blaetter.png"',
+ `src="${headerImageURL}"`,
)
})
@@ -272,7 +271,7 @@ describe('sendEmailVariants', () => {
'If the validity of the link has already expired, you can have a new link sent to you here.'
)
expect(result.originalMessage.html).toContain('>New link')
- expect(result.originalMessage.html).toContain('href="http://localhost/forgot-password"')
+ expect(result.originalMessage.html).toContain(`href="${CONFIG.EMAIL_LINK_FORGOTPASSWORD}"`)
})
it('has correct greating formula', () => {
@@ -359,10 +358,7 @@ describe('sendEmailVariants', () => {
it('has correct header', () => {
expect(result.originalMessage.html).toContain(
- 'src="https://gdd.gradido.net/img/brand/gradido-logo.png"',
- )
- expect(result.originalMessage.html).toContain(
- 'src="https://gdd.gradido.net/img/template/Blaetter.png"',
+ `src="${headerImageURL}"`,
)
})
@@ -499,10 +495,7 @@ describe('sendEmailVariants', () => {
it('has correct header', () => {
expect(result.originalMessage.html).toContain(
- 'src="https://gdd.gradido.net/img/brand/gradido-logo.png"',
- )
- expect(result.originalMessage.html).toContain(
- 'src="https://gdd.gradido.net/img/template/Blaetter.png"',
+ `src="${headerImageURL}"`,
)
})
@@ -603,7 +596,9 @@ describe('sendEmailVariants', () => {
},
})
})
+ })
+ describe('result', () => {
it('has expected result', () => {
expect(result).toMatchObject({
envelope: {
@@ -617,38 +612,80 @@ describe('sendEmailVariants', () => {
attachments: [],
subject: 'Gradido: Your common good contribution was rejected',
html: expect.any(String),
- text: expect.stringContaining('GRADIDO: YOUR COMMON GOOD CONTRIBUTION WAS REJECTED'),
+ text: expect.stringContaining('YOUR COMMON GOOD CONTRIBUTION WAS REJECTED'),
}),
})
+ })
+
+ it('has correct header', () => {
+ expect(result.originalMessage.html).toContain(
+ `src="${headerImageURL}"`,
+ )
+ })
+
+ it('has correct doctype and language set', () => {
expect(result.originalMessage.html).toContain('')
- expect(result.originalMessage.html).toContain('')
+ expect(result.originalMessage.html).toContain(' {
expect(result.originalMessage.html).toContain(
- '
Gradido: Your common good contribution was rejected',
+ '>Your common good contribution was rejected',
+ )
+ expect(result.originalMessage.html).toContain('Hello Peter Lustig,')
+ expect(result.originalMessage.html).toContain(
+ 'Your common good contribution “My contribution.” was rejected by Bibi Bloxberg.',
+ )
+ })
+
+ it('has correct CTA block', () => {
+ expect(result.originalMessage.html).toContain('>Contribution details')
+ expect(result.originalMessage.html).toContain(
+ 'To see your common good contributions and related messages, go to the “Creation” menu in your Gradido account and click on the “My contributions” tab.',
)
expect(result.originalMessage.html).toContain(
- '>Gradido: Your common good contribution was rejected',
+ 'To account')
+ expect(result.originalMessage.html).toContain('Please do not reply to this email.')
+ })
+
+ it('has correct greating formula', () => {
+ expect(result.originalMessage.html).toContain('Kind regards,
your Gradido team')
+ })
+
+ it('has correct footer', () => {
+ expect(result.originalMessage.html).toContain('href="https://t.me/GradidoGruppe"')
+ expect(result.originalMessage.html).toContain('href="https://www.youtube.com/c/GradidoNet"')
+ expect(result.originalMessage.html).toContain('href="https://twitter.com/gradido"')
expect(result.originalMessage.html).toContain(
- 'Your public good contribution “My contribution.” was rejected by Bibi Bloxberg.',
+ 'href="https://www.facebook.com/groups/Gradido/"',
+ )
+ expect(result.originalMessage.html).toContain('${CONFIG.EMAIL_LINK_OVERVIEW}`,
- )
- expect(result.originalMessage.html).toContain('Please do not reply to this email!')
- expect(result.originalMessage.html).toContain('Kind regards,
your Gradido team')
- expect(result.originalMessage.html).toContain('—————')
- expect(result.originalMessage.html).toContain(
- '
Gradido-Akademie
Institut für Wirtschaftsbionik
Pfarrweg 2
74653 Künzelsau
Deutschland
support@supportmail.comhttp://localhost/',
+ '
{
+ describe('sendContributionDeletedEmail', () => {
beforeAll(async () => {
result = await sendContributionDeletedEmail({
firstName: 'Peter',
@@ -681,8 +718,10 @@ describe('sendEmailVariants', () => {
},
})
})
-
- it('has expected result', () => {
+ })
+
+ describe('result', () => {
+ it('is the expected object', () => {
expect(result).toMatchObject({
envelope: {
from: 'info@gradido.net',
@@ -695,38 +734,85 @@ describe('sendEmailVariants', () => {
attachments: [],
subject: 'Gradido: Your common good contribution was deleted',
html: expect.any(String),
- text: expect.stringContaining('GRADIDO: YOUR COMMON GOOD CONTRIBUTION WAS DELETED'),
+ text: expect.stringContaining('YOUR COMMON GOOD CONTRIBUTION WAS DELETED'),
}),
})
- expect(result.originalMessage.html).toContain('')
- expect(result.originalMessage.html).toContain('')
+ })
+
+ it('has correct header', () => {
expect(result.originalMessage.html).toContain(
- 'Gradido: Your common good contribution was deleted',
- )
- expect(result.originalMessage.html).toContain(
- '>Gradido: Your common good contribution was deleted',
- )
- expect(result.originalMessage.html).toContain('Hello Peter Lustig')
- expect(result.originalMessage.html).toContain(
- 'Your public good contribution “My contribution.” was deleted by Bibi Bloxberg.',
- )
- expect(result.originalMessage.html).toContain(
- 'To see your common good contributions and related messages, go to the “Creation” menu in your Gradido account and click on the “My contributions” tab!',
- )
- expect(result.originalMessage.html).toContain(
- `Link to your account: ${CONFIG.EMAIL_LINK_OVERVIEW}`,
- )
- expect(result.originalMessage.html).toContain('Please do not reply to this email!')
- expect(result.originalMessage.html).toContain('Kind regards,
your Gradido team')
- expect(result.originalMessage.html).toContain('—————')
- expect(result.originalMessage.html).toContain(
- '
Gradido-Akademie
Institut für Wirtschaftsbionik
Pfarrweg 2
74653 Künzelsau
Deutschland
support@supportmail.comhttp://localhost/',
+ `src="${headerImageURL}"`,
)
})
+
+ it('has correct doctype and language set', () => {
+ expect(result.originalMessage.html).toContain('')
+ expect(result.originalMessage.html).toContain(' {
+ expect(result.originalMessage.html).toContain(
+ '>Your common good contribution was deleted',
+ )
+ expect(result.originalMessage.html).toContain('Hello Peter Lustig,')
+ expect(result.originalMessage.html).toContain(
+ 'Your common good contribution “My contribution.” was deleted by Bibi Bloxberg.',
+ )
+ })
+
+ it('has correct CTA block', () => {
+ expect(result.originalMessage.html).toContain('>Contribution details')
+ expect(result.originalMessage.html).toContain(
+ 'To see your common good contributions and related messages, go to the “Creation” menu in your Gradido account and click on the “My contributions” tab.',
+ )
+ expect(result.originalMessage.html).toContain(
+ 'href="https://gdd.gradido.net/community/contributions',
+ )
+ expect(result.originalMessage.html).toContain('>To account')
+ expect(result.originalMessage.html).toContain('Or copy the link into your browser window.')
+ expect(result.originalMessage.html).toContain(
+ '>https://gdd.gradido.net/community/contributions',
+ )
+ expect(result.originalMessage.html).toContain('Please do not reply to this email.')
+ })
+
+ it('has correct greating formula', () => {
+ expect(result.originalMessage.html).toContain('Kind regards,
your Gradido team')
+ })
+
+ it('has correct footer', () => {
+ expect(result.originalMessage.html).toContain('href="https://t.me/GradidoGruppe"')
+ expect(result.originalMessage.html).toContain('href="https://www.youtube.com/c/GradidoNet"')
+ expect(result.originalMessage.html).toContain('href="https://twitter.com/gradido"')
+ expect(result.originalMessage.html).toContain(
+ 'href="https://www.facebook.com/groups/Gradido/"',
+ )
+ expect(result.originalMessage.html).toContain('
{
+ describe('sendResetPasswordEmail', () => {
beforeAll(async () => {
result = await sendResetPasswordEmail({
firstName: 'Peter',
@@ -757,8 +843,10 @@ describe('sendEmailVariants', () => {
},
})
})
+ })
- it('has expected result', () => {
+ describe('result', () => {
+ it('is the expected object', () => {
expect(result).toMatchObject({
envelope: {
from: 'info@gradido.net',
@@ -771,40 +859,90 @@ describe('sendEmailVariants', () => {
attachments: [],
subject: 'Gradido: Reset password',
html: expect.any(String),
- text: expect.stringContaining('GRADIDO: RESET PASSWORD'),
+ text: expect.stringContaining('RESET PASSWORD'),
}),
})
+ })
+
+ it('has correct header', () => {
+ expect(result.originalMessage.html).toContain(
+ `src="${headerImageURL}"`,
+ )
+ })
+
+ it('has correct doctype and language set', () => {
expect(result.originalMessage.html).toContain('')
- expect(result.originalMessage.html).toContain('')
- expect(result.originalMessage.html).toContain('
Gradido: Reset password')
- expect(result.originalMessage.html).toContain('>Gradido: Reset password')
- expect(result.originalMessage.html).toContain('Hello Peter Lustig')
+ expect(result.originalMessage.html).toContain(' {
+ expect(result.originalMessage.html).toContain('>Reset password')
+ expect(result.originalMessage.html).toContain('Hello Peter Lustig,')
expect(result.originalMessage.html).toContain(
'You, or someone else, requested a password reset for this account.',
)
- expect(result.originalMessage.html).toContain('If it was you, please click on the link:')
+ })
+
+ it('has correct CTA block', () => {
+ expect(result.originalMessage.html).toContain('>Reset password')
expect(result.originalMessage.html).toContain(
- '
http://localhost/reset-password/3762660021544901417',
+ 'If it was you, please click here.',
)
expect(result.originalMessage.html).toContain(
- 'or copy the link above into your browser window.',
+ '
reset')
+ expect(result.originalMessage.html).toContain('Or copy the link into your browser window.')
+ expect(result.originalMessage.html).toContain(
+ 'http://localhost/reset-password/3762660021544901417',
+ )
+ expect(result.originalMessage.html).toContain('>Request new valid link')
+ expect(result.originalMessage.html).toContain(
+ 'The link has a validity of 23 hours and 30 minutes.'
)
expect(result.originalMessage.html).toContain(
- 'The link has a validity of 23 hours and 30 minutes. If the validity of the link has already expired, you can have a new link sent to you here:',
+ 'If the validity of the link has already expired, you can have a new link sent to you here.'
+ )
+ expect(result.originalMessage.html).toContain('>New link')
+ expect(result.originalMessage.html).toContain(`href="${CONFIG.EMAIL_LINK_FORGOTPASSWORD}"`)
+ })
+
+ it('has correct greating formula', () => {
+ expect(result.originalMessage.html).toContain('Kind regards,
your Gradido team')
+ })
+
+ it('has correct footer', () => {
+ expect(result.originalMessage.html).toContain('href="https://t.me/GradidoGruppe"')
+ expect(result.originalMessage.html).toContain('href="https://www.youtube.com/c/GradidoNet"')
+ expect(result.originalMessage.html).toContain('href="https://twitter.com/gradido"')
+ expect(result.originalMessage.html).toContain(
+ 'href="https://www.facebook.com/groups/Gradido/"',
+ )
+ expect(result.originalMessage.html).toContain('
${CONFIG.EMAIL_LINK_FORGOTPASSWORD}`,
- )
- expect(result.originalMessage.html).toContain('Kind regards,
your Gradido team')
- expect(result.originalMessage.html).toContain('—————')
- expect(result.originalMessage.html).toContain(
- '
Gradido-Akademie
Institut für Wirtschaftsbionik
Pfarrweg 2
74653 Künzelsau
Deutschland
support@supportmail.comhttp://localhost/',
+ '
{
+ describe('sendTransactionLinkRedeemedEmail', () => {
beforeAll(async () => {
result = await sendTransactionLinkRedeemedEmail({
firstName: 'Peter',
@@ -841,8 +979,10 @@ describe('sendEmailVariants', () => {
},
})
})
+ })
- it('has expected result', () => {
+ describe('result', () => {
+ it('is the expected object', () => {
expect(result).toMatchObject({
envelope: {
from: 'info@gradido.net',
@@ -858,34 +998,79 @@ describe('sendEmailVariants', () => {
text: expect.stringContaining('BIBI BLOXBERG HAS REDEEMED YOUR GRADIDO LINK'),
}),
})
+ })
+
+ it('has correct header', () => {
+ expect(result.originalMessage.html).toContain(
+ `src="${headerImageURL}"`,
+ )
+ })
+
+ it('has correct doctype and language set', () => {
expect(result.originalMessage.html).toContain('')
- expect(result.originalMessage.html).toContain('')
+ expect(result.originalMessage.html).toContain(' {
expect(result.originalMessage.html).toContain(
- 'Gradido: Bibi Bloxberg has redeemed your Gradido link',
+ '>Bibi Bloxberg has redeemed your Gradido link',
)
- expect(result.originalMessage.html).toContain(
- '>Gradido: Bibi Bloxberg has redeemed your Gradido link',
- )
- expect(result.originalMessage.html).toContain('Hello Peter Lustig')
+ expect(result.originalMessage.html).toContain('Hello Peter Lustig,')
expect(result.originalMessage.html).toContain(
'Bibi Bloxberg (bibi@bloxberg.de) has just redeemed your link.',
)
+ })
+
+ it('has correct CTA block', () => {
+ expect(result.originalMessage.html).toContain('>Transaction details')
expect(result.originalMessage.html).toContain('Amount: 17.65 GDD')
expect(result.originalMessage.html).toContain('Message: You deserve it! 🙏🏼')
expect(result.originalMessage.html).toContain(
- `You can find transaction details in your Gradido account: ${CONFIG.EMAIL_LINK_OVERVIEW}`,
+ 'You can find transaction details in your Gradido account.',
)
- expect(result.originalMessage.html).toContain('Please do not reply to this email!')
- expect(result.originalMessage.html).toContain('Kind regards,
your Gradido team')
- expect(result.originalMessage.html).toContain('—————')
expect(result.originalMessage.html).toContain(
- '
Gradido-Akademie
Institut für Wirtschaftsbionik
Pfarrweg 2
74653 Künzelsau
Deutschland
support@supportmail.comhttp://localhost/',
+ '
To account')
+ expect(result.originalMessage.html).toContain('Please do not reply to this email.')
+ })
+
+ it('has correct greating formula', () => {
+ expect(result.originalMessage.html).toContain('Kind regards,
your Gradido team')
+ })
+
+ it('has correct footer', () => {
+ expect(result.originalMessage.html).toContain('href="https://t.me/GradidoGruppe"')
+ expect(result.originalMessage.html).toContain('href="https://www.youtube.com/c/GradidoNet"')
+ expect(result.originalMessage.html).toContain('href="https://twitter.com/gradido"')
+ expect(result.originalMessage.html).toContain(
+ 'href="https://www.facebook.com/groups/Gradido/"',
+ )
+ expect(result.originalMessage.html).toContain('
{
+ describe('sendTransactionReceivedEmail', () => {
beforeAll(async () => {
result = await sendTransactionReceivedEmail({
firstName: 'Peter',
@@ -920,8 +1105,10 @@ describe('sendEmailVariants', () => {
},
})
})
+ })
- it('has expected result', () => {
+ describe('result', () => {
+ it('is the expected object', () => {
expect(result).toMatchObject({
envelope: {
from: 'info@gradido.net',
@@ -934,29 +1121,72 @@ describe('sendEmailVariants', () => {
attachments: [],
subject: 'Gradido: Bibi Bloxberg has sent you 37.40 Gradido',
html: expect.any(String),
- text: expect.stringContaining('GRADIDO: BIBI BLOXBERG HAS SENT YOU 37.40 GRADIDO'),
+ text: expect.stringContaining('BIBI BLOXBERG HAS SENT YOU 37.40 GRADIDO'),
}),
})
+ })
+
+ it('has correct header', () => {
+ expect(result.originalMessage.html).toContain(
+ `src="${headerImageURL}"`,
+ )
+ })
+
+ it('has correct doctype and language set', () => {
expect(result.originalMessage.html).toContain('')
- expect(result.originalMessage.html).toContain('')
- expect(result.originalMessage.html).toContain(
- '
Gradido: Bibi Bloxberg has sent you 37.40 Gradido',
- )
- expect(result.originalMessage.html).toContain(
- '>Gradido: Bibi Bloxberg has sent you 37.40 Gradido',
- )
- expect(result.originalMessage.html).toContain('Hello Peter Lustig')
+ expect(result.originalMessage.html).toContain(' {
+ expect(result.originalMessage.html).toContain('>Bibi Bloxberg has sent you 37.40 Gradido')
+ expect(result.originalMessage.html).toContain('Hello Peter Lustig,')
expect(result.originalMessage.html).toContain(
'You have just received 37.40 GDD from Bibi Bloxberg (bibi@bloxberg.de).',
)
+ })
+
+ it('has correct CTA block', () => {
+ expect(result.originalMessage.html).toContain('>Transaction details')
expect(result.originalMessage.html).toContain(
- `You can find transaction details in your Gradido account:
${CONFIG.EMAIL_LINK_OVERVIEW}`,
+ 'You can find transaction details in your Gradido account.',
)
- expect(result.originalMessage.html).toContain('Please do not reply to this email!')
- expect(result.originalMessage.html).toContain('Kind regards,
your Gradido team')
- expect(result.originalMessage.html).toContain('—————')
expect(result.originalMessage.html).toContain(
- '
Gradido-Akademie
Institut für Wirtschaftsbionik
Pfarrweg 2
74653 Künzelsau
Deutschland
support@supportmail.comhttp://localhost/',
+ '
To account')
+ expect(result.originalMessage.html).toContain('Please do not reply to this email.')
+ })
+
+ it('has correct greating formula', () => {
+ expect(result.originalMessage.html).toContain('Kind regards,
your Gradido team')
+ })
+
+ it('has correct footer', () => {
+ expect(result.originalMessage.html).toContain('href="https://t.me/GradidoGruppe"')
+ expect(result.originalMessage.html).toContain('href="https://www.youtube.com/c/GradidoNet"')
+ expect(result.originalMessage.html).toContain('href="https://twitter.com/gradido"')
+ expect(result.originalMessage.html).toContain(
+ 'href="https://www.facebook.com/groups/Gradido/"',
+ )
+ expect(result.originalMessage.html).toContain('