Files
yuming 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 个用例,覆盖农历跨年等边界)
2026-08-15 17:30:42 +08:00

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 }