import * as sinon from "sinon"; import * as assert from "assert"; import { FileSystemNotifier } from "../../../../src/server/lib/notifiers/FileSystemNotifier"; import * as tmp from "tmp"; import * as fs from "fs"; import BluebirdPromise = require("bluebird"); const NOTIFICATIONS_DIRECTORY = "notifications"; describe("test FS notifier", function() { let tmpDir: tmp.SynchrounousResult; before(function() { tmpDir = tmp.dirSync({ unsafeCleanup: true }); }); after(function() { tmpDir.removeCallback(); }); it("should write the notification in a file", function() { const options = { filename: tmpDir.name + "/" + NOTIFICATIONS_DIRECTORY }; const sender = new FileSystemNotifier(options); const subject = "subject"; const identity = { userid: "user", email: "user@example.com" }; const url = "http://test.com"; return sender.notify(identity, subject, url) .then(function() { const content = fs.readFileSync(options.filename, "UTF-8"); assert(content.length > 0); return BluebirdPromise.resolve(); }); }); });