Tighten reset email escaping test

This commit is contained in:
keshav-005 2026-04-22 23:29:49 +05:30
parent 6362526168
commit 50b999de71
1 changed files with 2 additions and 2 deletions

View File

@ -30,14 +30,14 @@ describe('sendPasswordResetEmail', () => {
it('escapes interpolated values before building the HTML email', async () => { it('escapes interpolated values before building the HTML email', async () => {
await sendPasswordResetEmail({ await sendPasswordResetEmail({
email: 'user@example.com', email: 'user@example.com',
name: '<Admin & Co.>', name: '<Admin&Co.>',
resetUrl: 'https://example.com/reset-password?token=a b&next=<script>', resetUrl: 'https://example.com/reset-password?token=a b&next=<script>',
}); });
expect(sendMailMock).toHaveBeenCalledTimes(1); expect(sendMailMock).toHaveBeenCalledTimes(1);
const [mailOptions] = sendMailMock.mock.calls[0]; const [mailOptions] = sendMailMock.mock.calls[0];
expect(mailOptions.html).toContain('Hi &lt;Admin,'); expect(mailOptions.html).toContain('Hi &lt;Admin&amp;Co.&gt;,');
expect(mailOptions.html).toContain('href="https://example.com/reset-password?token=a%20b&amp;next=%3Cscript%3E"'); expect(mailOptions.html).toContain('href="https://example.com/reset-password?token=a%20b&amp;next=%3Cscript%3E"');
expect(mailOptions.html).not.toContain('<script>'); expect(mailOptions.html).not.toContain('<script>');
expect(mailOptions.text).toContain('https://example.com/reset-password?token=a%20b&next=%3Cscript%3E'); expect(mailOptions.text).toContain('https://example.com/reset-password?token=a%20b&next=%3Cscript%3E');