UNPKG

expresser

Version:

A ready-to-use platform for Node.js web apps, built on top of Express.

74 lines (58 loc) 1.97 kB
// TEST: MAILER require("coffee-script/register"); var chai = require("chai"); chai.should(); describe("Mailer Tests", function() { var env = process.env; if (!env.NODE_ENV || env.NODE_ENV == "") env.NODE_ENV = "test"; var settings = require("../lib/settings.coffee"); if (!settings.testKeysLoaded) { settings.loadFromJson("settings.test.keys.json"); settings.testKeysLoaded = true; } var utils = null; var mailer = null; // TESTS STARTS HERE!!! // ---------------------------------------------------------------------------------- before(function(){ utils = require("../lib/utils.coffee"); mailer = require("../lib/mailer.coffee"); }); it("Is single instance", function() { mailer.singleInstance = true; var mailer2 = require("../lib/mailer.coffee"); mailer.singleInstance.should.equal(mailer2.singleInstance); }); it("Has settings defined", function() { settings.should.have.property("mailer"); }); it("Inits", function() { mailer.init(); }); it("Sends a test email using Mandrill", function(done) { this.timeout(20000); if (!settings.mailer.smtp.password) { return done(new Error("The mailer SMTP password was not set (settings.mailer.smtp.password).")); } var smtpOptions = { password: settings.mailer.smtp.password, user: "devv@devv.com", service: "mandrill" }; var msgOptions = { body: "Mail testing: app {appTitle}, to {to}.", subject: "Test mail", to: "devv@devv.com", from: "devv@devv.com" }; var callback = function(err) { if (!err) { done(); } else { done(err); } }; mailer.setSmtp(smtpOptions); mailer.send(msgOptions, callback); }); });