mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-18 05:25:40 +09:00
fix(email): test saved SMTP config and add TLS modes (#3388)
This commit is contained in:
1 parent
45b78a13c2
commit
cca8227ca6
66 files changed
+2464
-319
No files matched your search
@@ -0,0 +1,28 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {SmtpEmailProvider} from '@pkgs/email/src/SmtpEmailProvider';
|
||||
import {beforeEach, describe, expect, it, vi} from 'vitest';
|
||||
|
||||
const {createTransport} = vi.hoisted(() => ({createTransport: vi.fn()}));
|
||||
|
||||
vi.mock('nodemailer', () => ({default: {createTransport}}));
|
||||
|
||||
describe('SmtpEmailProvider', () => {
|
||||
beforeEach(() => {
|
||||
createTransport.mockReset();
|
||||
createTransport.mockReturnValue({sendMail: vi.fn(), verify: vi.fn()});
|
||||
});
|
||||
|
||||
it.each([
|
||||
{port: 465, tlsMode: undefined, secure: true, requireTLS: false, ignoreTLS: false},
|
||||
{port: 587, tlsMode: undefined, secure: false, requireTLS: true, ignoreTLS: false},
|
||||
{port: 587, tlsMode: null, secure: false, requireTLS: true, ignoreTLS: false},
|
||||
{port: 587, tlsMode: 'implicit', secure: true, requireTLS: false, ignoreTLS: false},
|
||||
{port: 465, tlsMode: 'starttls', secure: false, requireTLS: true, ignoreTLS: false},
|
||||
{port: 25, tlsMode: 'opportunistic', secure: false, requireTLS: false, ignoreTLS: false},
|
||||
{port: 587, tlsMode: 'none', secure: false, requireTLS: false, ignoreTLS: true},
|
||||
] as const)('maps TLS mode $tlsMode on port $port to nodemailer options', ({port, tlsMode, ...expected}) => {
|
||||
new SmtpEmailProvider({host: 'smtp.example.com', port, username: 'user', password: 'pass', tlsMode});
|
||||
expect(createTransport).toHaveBeenCalledWith(expect.objectContaining(expected));
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user