UNPKG

serverchan

Version:
56 lines (54 loc) 1.81 kB
"use strict"; import ServerChan = require("../"); import chai = require("chai"); const expect = chai.expect; // store the original sckey let processKey = process.env.SERVERCHAN_SCKEY; import nock = require("nock"); describe("constructor", () => { it("should load parameter", () => { let sc = new ServerChan("SCKEYOWN1"); expect(sc.sckey).to.eql("SCKEYOWN1"); }); it("should throw on no set", () => { expect(() => { delete process.env.SERVERCHAN_SCKEY; let sc = new ServerChan(); }).to.throw(); }); it("should load env", () => { process.env.SERVERCHAN_SCKEY = "SCKEYOWN2"; let sc = new ServerChan(); expect(sc.sckey).to.eql("SCKEYOWN2"); }); }); describe("#sendMessage", () => { it("(title)", async () => { nock("http://sc.ftqq.com") .get(/[A-Za-z0-9]*\.send/) .reply(200, { "errno": 0, "errmsg": "success", "dataset": "done" }); process.env.SERVERCHAN_SCKEY = processKey; let sc = new ServerChan(); await sc.sendMessage("build test " + Date.now().toString()); }); it("(title, content)", async () => { nock("http://sc.ftqq.com") .get(/[A-Za-z0-9]*\.send/) .reply(200, { "errno": 0, "errmsg": "success", "dataset": "done" }); process.env.SERVERCHAN_SCKEY = processKey; let sc = new ServerChan(); await sc.sendMessage("build test " + Date.now().toString(), "test"); }); it("(title, content?) error should throw", async () => { nock("http://sc.ftqq.com") .get(/[A-Za-z0-9]*\.send/) .reply(200, { "errno": 1024, "errmsg": "不要重复发送同样的内容" }); let sc = new ServerChan(); try { await sc.sendMessage(""); throw new Error("No error thrown."); } catch (err) { expect(err.message).to.eql("不要重复发送同样的内容"); } }); });