Merge pull request #3214 from overleaf/jel-new-cta-email-verifyEmailToJoinTeam

Convert verifyEmailToJoinTeam to new email handling

GitOrigin-RevId: f4d19aff26c07bb04d8f414805edbf79baec6e0c
This commit is contained in:
Jessica Lawshe 2020-09-21 08:55:00 -05:00 committed by Copybot
parent 6e60c99128
commit d23df6dd99
2 changed files with 51 additions and 4 deletions

View file

@ -330,7 +330,7 @@ templates.projectInvite = CTAEmailTemplate({
} }
}) })
templates.verifyEmailToJoinTeam = CTAEmailTemplate({ templates.verifyEmailToJoinTeam = ctaTemplate({
subject(opts) { subject(opts) {
return `${_.escape( return `${_.escape(
_formatUserNameAndEmail(opts.inviter, 'A collaborator') _formatUserNameAndEmail(opts.inviter, 'A collaborator')
@ -342,9 +342,11 @@ templates.verifyEmailToJoinTeam = CTAEmailTemplate({
)} has invited you to join a team on ${settings.appName}` )} has invited you to join a team on ${settings.appName}`
}, },
message(opts) { message(opts) {
return `Please click the button below to join the team and enjoy the benefits of an upgraded ${ return [
settings.appName `Please click the button below to join the team and enjoy the benefits of an upgraded ${
} account.` settings.appName
} account.`
]
}, },
ctaText(opts) { ctaText(opts) {
return 'Join now' return 'Join now'

View file

@ -230,6 +230,51 @@ describe('EmailBuilder', function() {
}) })
}) })
}) })
describe('verifyEmailToJoinTeam', function() {
before(function() {
this.emailAddress = 'example@overleaf.com'
this.opts = {
to: this.emailAddress,
acceptInviteUrl: `${
this.settings.siteUrl
}/subscription/invites/aToken123/`,
inviter: {
email: 'deanna@overleaf.com',
first_name: 'Deanna',
last_name: 'Troi'
}
}
this.email = this.EmailBuilder.buildEmail(
'verifyEmailToJoinTeam',
this.opts
)
})
it('should build the email', function() {
expect(this.email.html).to.exist
expect(this.email.text).to.exist
})
describe('HTML email', function() {
it('should include a CTA button and a fallback CTA link', function() {
const dom = cheerio.load(this.email.html)
const buttonLink = dom('a:contains("Join now")')
expect(buttonLink.length).to.equal(1)
expect(buttonLink.attr('href')).to.equal(this.opts.acceptInviteUrl)
const fallback = dom('.avoid-auto-linking').last()
expect(fallback.length).to.equal(1)
const fallbackLink = fallback.html()
expect(fallbackLink).to.contain(this.opts.acceptInviteUrl)
})
})
describe('plain text email', function() {
it('should contain the CTA link', function() {
expect(this.email.text).to.contain(this.opts.acceptInviteUrl)
})
})
})
}) })
describe('no CTA', function() { describe('no CTA', function() {
describe('securityAlert', function() { describe('securityAlert', function() {