37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
var sinon = require('sinon');
|
|
var assert = require('assert');
|
|
var GmailNotifier = require('../../../src/lib/notifiers/gmail');
|
|
|
|
describe('test gmail notifier', function() {
|
|
it('should send an email', function() {
|
|
var nodemailer = {};
|
|
var transporter = {};
|
|
nodemailer.createTransport = sinon.stub().returns(transporter);
|
|
transporter.sendMail = sinon.stub().yields();
|
|
var options = {};
|
|
options.username = 'user_gmail';
|
|
options.password = 'pass_gmail';
|
|
|
|
var deps = {};
|
|
deps.nodemailer = nodemailer;
|
|
|
|
var sender = new GmailNotifier(options, deps);
|
|
var subject = 'subject';
|
|
|
|
var identity = {};
|
|
identity.userid = 'user';
|
|
identity.email = 'user@example.com';
|
|
|
|
var url = 'http://test.com';
|
|
|
|
return sender.notify(identity, subject, url)
|
|
.then(function() {
|
|
assert.equal(nodemailer.createTransport.getCall(0).args[0].auth.user, 'user_gmail');
|
|
assert.equal(nodemailer.createTransport.getCall(0).args[0].auth.pass, 'pass_gmail');
|
|
assert.equal(transporter.sendMail.getCall(0).args[0].to, 'user@example.com');
|
|
assert.equal(transporter.sendMail.getCall(0).args[0].subject, 'subject');
|
|
return Promise.resolve();
|
|
});
|
|
});
|
|
});
|