feat: 接入企业微信通知(临期催办 + 群机器人汇总)
新增 lib/wecom-client.ts 与 lib/wecom-notifier-service.ts,支持 群机器人 webhook 与应用消息双通道;scheduler 加入临期 N 天催办 与每日管理员汇总;action 路由补 bind_wecom_external_id 与 send_test_wecom 两个管理端动作,配套测试。
This commit is contained in:
15
tests/wecom-notifier.test.mjs
Normal file
15
tests/wecom-notifier.test.mjs
Normal file
@@ -0,0 +1,15 @@
|
||||
import assert from "node:assert/strict";
|
||||
import test from "node:test";
|
||||
import { computeDueCutoff } from "../lib/wecom-notifier-service.ts";
|
||||
|
||||
test("computeDueCutoff advances by dueDays and crosses month/year", () => {
|
||||
assert.equal(computeDueCutoff("2026-08-18", 3), "2026-08-21");
|
||||
assert.equal(computeDueCutoff("2026-08-30", 3), "2026-09-02");
|
||||
assert.equal(computeDueCutoff("2026-12-30", 3), "2027-01-02");
|
||||
assert.equal(computeDueCutoff("2026-08-18", 0), "2026-08-18");
|
||||
assert.equal(computeDueCutoff("2026-08-18", 10), "2026-08-28");
|
||||
});
|
||||
|
||||
test("computeDueCutoff returns input unchanged when malformed", () => {
|
||||
assert.equal(computeDueCutoff("not-a-date", 3), "not-a-date");
|
||||
});
|
||||
Reference in New Issue
Block a user