mirror of
https://github.com/0rangebananaspy/authelia.git
synced 2024-09-14 22:47:21 +07:00
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import * as sinon from "sinon";
|
|
import * as assert from "assert";
|
|
|
|
import nodemailerMock = require("../mocks/nodemailer");
|
|
import GMailNotifier = require("../../../src/lib/notifiers/GMailNotifier");
|
|
|
|
|
|
describe("test gmail notifier", function () {
|
|
it("should send an email", function () {
|
|
const transporter = {
|
|
sendMail: sinon.stub().yields()
|
|
};
|
|
nodemailerMock.createTransport.returns(transporter);
|
|
|
|
const options = {
|
|
username: "user_gmail",
|
|
password: "pass_gmail"
|
|
};
|
|
|
|
const sender = new GMailNotifier.GMailNotifier(options, nodemailerMock);
|
|
const subject = "subject";
|
|
|
|
const identity = {
|
|
userid: "user",
|
|
email: "user@example.com"
|
|
};
|
|
|
|
const url = "http://test.com";
|
|
|
|
return sender.notify(identity, subject, url)
|
|
.then(function () {
|
|
assert.equal(nodemailerMock.createTransport.getCall(0).args[0].auth.user, "user_gmail");
|
|
assert.equal(nodemailerMock.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();
|
|
});
|
|
});
|
|
});
|