Ocelot-Social/backend/src/emails/sendRegistrationMail.spec.ts

71 lines
1.6 KiB
TypeScript

import CONFIG from '@config/index'
CONFIG.SUPPORT_EMAIL = 'devops@ocelot.social'
// eslint-disable-next-line import-x/first
import { sendRegistrationMail } from './sendEmail'
describe('sendRegistrationMail', () => {
const data: {
name: string
email: string
nonce: string
locale: string
inviteCode?: string
} = {
name: 'Bob &"?@\\ Baumeister',
email: 'moderator@example.org',
nonce: '123456',
locale: 'en',
inviteCode: 'welcome',
}
describe('with invite code', () => {
describe('English', () => {
beforeEach(() => {
data.locale = 'en'
data.inviteCode = 'welcome'
})
it('renders correctly', async () => {
await expect(sendRegistrationMail(data)).resolves.toMatchSnapshot()
})
})
describe('German', () => {
beforeEach(() => {
data.locale = 'de'
data.inviteCode = 'welcome'
})
it('renders correctly', async () => {
await expect(sendRegistrationMail(data)).resolves.toMatchSnapshot()
})
})
})
describe('without invite code', () => {
describe('English', () => {
beforeEach(() => {
data.locale = 'en'
delete data.inviteCode
})
it('renders correctly', async () => {
await expect(sendRegistrationMail(data)).resolves.toMatchSnapshot()
})
})
describe('German', () => {
beforeEach(() => {
data.locale = 'de'
delete data.inviteCode
})
it('renders correctly', async () => {
await expect(sendRegistrationMail(data)).resolves.toMatchSnapshot()
})
})
})
})