UNPKG

pip-services-email-node

Version:
94 lines (74 loc) 2.75 kB
let _ = require('lodash'); let async = require('async'); let assert = require('chai').assert; import { ConfigParams } from 'pip-services3-commons-node'; import { Descriptor } from 'pip-services3-commons-node'; import { References } from 'pip-services3-commons-node'; import { EmailMessageV1 } from '../../src/data/version1/EmailMessageV1'; import { EmailRecipientV1 } from '../../src/data/version1/EmailRecipientV1'; import { EmailController } from '../../src/logic/EmailController'; suite('EmailController', ()=> { let controller: EmailController; let emailHost = process.env['EMAIL_HOST'] || "smtp@gmail.com"; let emailPort = process.env['EMAIL_PORT'] || 465; let emailSsl = process.env['EMAIL_SSL'] || true; let emailUser = process.env['EMAIL_USER']; let emailPassword = process.env['EMAIL_PASS']; let messageFrom = process.env['MESSAGE_FROM'] || "somebody@somewhere.com"; let messageTo = process.env['MESSAGE_TO']; // if (emailUser == null) return; suiteSetup((done) => { controller = new EmailController(); let config = ConfigParams.fromTuples( "message.from", messageFrom, "connection.host", emailHost, "connection.port", emailPort, "connection.ssl", emailSsl, "credential.username", emailUser, "credential.password", emailPassword, "options.disabled", emailUser == null || messageTo == null ); controller.configure(config); controller.open(null, done); }); suiteTeardown((done) => { controller.close(null, done); }); test('Send Message to Address', function (done) { let message = <EmailMessageV1> { to: messageTo, subject: '{{subject}}', text: '{{text}}', html: '<p>{{text}}</p>' }; let parameters = ConfigParams.fromTuples( 'subject', 'Test Email To Address', 'text', 'This is just a test' ); controller.sendMessage( null, message, parameters, (err) => { assert.isNull(err); done(); } ); }); test('Send Message to Recipient', function (done) { let message = <EmailMessageV1> { subject: 'Test Email To Recipient', text: 'This is just a test' }; let recipient = <EmailRecipientV1> { id: '1', email: messageTo, name: 'Test Recipient' }; controller.sendMessageToRecipient( null, recipient, message, null, (err) => { assert.isNull(err); done(); } ); }); });