nestjs-mailgun
Version:
NestJS provider for sending emails with mailgun
51 lines • 1.88 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const dotenv_1 = __importDefault(require("dotenv"));
const config_1 = require("@nestjs/config");
const testing_1 = require("@nestjs/testing");
const constants_1 = require("./constants");
const mailgun_service_1 = require("./mailgun.service");
jest.setTimeout(15000);
const configService = new config_1.ConfigService(dotenv_1.default.config());
describe('MailgunService', () => {
let service;
let domain;
let fromEmail;
const toEmail = 'stanislav@wisekaa.dev';
beforeAll(async () => {
domain = configService.get('MAILGUN_DOMAIN');
const key = configService.get('MAILGUN_KEY');
fromEmail = `postmaster@${domain}`;
const url = `https://${configService.get('MAILGUN_URL', 'api.mailgun.net')}`;
const module = await testing_1.Test.createTestingModule({
providers: [
mailgun_service_1.MailgunService,
{
provide: constants_1.MAILGUN_CONFIGURATION,
useValue: {
username: 'api',
key,
url,
},
},
],
}).compile();
service = module.get(mailgun_service_1.MailgunService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
it('Send email', async () => {
const received = await service.createEmail(domain, {
from: fromEmail,
to: toEmail,
subject: 'TEST',
text: 'Test was successful',
});
expect(received).toBeDefined();
});
});
//# sourceMappingURL=mailgun.service.spec.js.map
;