68acbb3809
- 新增 server/src/occurrence.js:startOfDay/getNextOccurrence/daysBetween,today 可注入 - reminder.js 改为调用新模块,删除内联的 getThisYearDate/daysBetween - 引入 node:test 作为测试框架,加 npm test 脚本 - 新增 test/helper.js(临时库辅助,供后续任务用)和 test/occurrence.test.js(7 个用例,覆盖农历跨年等边界)
14 lines
432 B
JavaScript
14 lines
432 B
JavaScript
const fs = require('fs')
|
|
const os = require('os')
|
|
const path = require('path')
|
|
|
|
// 把 DB_PATH 指向临时目录,避免测试碰到真实库。
|
|
// 必须在 require('../src/db') 之前调用,因为 db.js 在 require 时就读取 DB_PATH。
|
|
function useTempDb() {
|
|
const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'bday-test-'))
|
|
process.env.DB_PATH = path.join(dir, 'test.db')
|
|
return dir
|
|
}
|
|
|
|
module.exports = { useTempDb }
|