Files
payloadcms/test/jest.setup.js
Elliot DeNolf 9c8cdea4b3 test: mock nodemailer network calls (#9957)
In tests, nodemailer was making network calls to create test accounts
using ethereal.email. This mocks them appropriately.
2024-12-13 11:31:24 -05:00

31 lines
941 B
JavaScript

import console from 'console'
global.console = console
import nodemailer from 'nodemailer'
import { generateDatabaseAdapter } from './generateDatabaseAdapter.js'
process.env.PAYLOAD_DISABLE_ADMIN = 'true'
process.env.PAYLOAD_DROP_DATABASE = 'true'
process.env.PAYLOAD_PUBLIC_CLOUD_STORAGE_ADAPTER = 's3'
process.env.NODE_OPTIONS = '--no-deprecation'
process.env.PAYLOAD_CI_DEPENDENCY_CHECKER = 'true'
// Mock createTestAccount to prevent calling external services
jest.spyOn(nodemailer, 'createTestAccount').mockImplementation(() => {
return Promise.resolve({
imap: { host: 'imap.test.com', port: 993, secure: true },
pass: 'testpass',
pop3: { host: 'pop3.test.com', port: 995, secure: true },
smtp: { host: 'smtp.test.com', port: 587, secure: false },
user: 'testuser',
web: 'https://webmail.test.com',
})
})
const dbAdapter = process.env.PAYLOAD_DATABASE || 'mongodb'
generateDatabaseAdapter(dbAdapter)