serverchan
Version:
Node.js SDK for ServerChan.
56 lines (54 loc) • 1.81 kB
text/typescript
;
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("不要重复发送同样的内容");
}
});
});