feat: add sleep report page
This commit is contained in:
45
scripts/tests/report-utils.test.cjs
Normal file
45
scripts/tests/report-utils.test.cjs
Normal file
@@ -0,0 +1,45 @@
|
||||
const assert = require("node:assert/strict");
|
||||
const {
|
||||
getSleepLevel,
|
||||
getStatusTone,
|
||||
pickReportRecord
|
||||
} = require("../../tmp/report-tests/report-utils.js");
|
||||
|
||||
function run(name, fn) {
|
||||
try {
|
||||
fn();
|
||||
console.log(`PASS ${name}`);
|
||||
} catch (error) {
|
||||
console.error(`FAIL ${name}`);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
run("getSleepLevel maps score 65 to 合格", () => {
|
||||
assert.deepEqual(getSleepLevel(65), {
|
||||
label: "合格",
|
||||
tone: "warning"
|
||||
});
|
||||
});
|
||||
|
||||
run("getStatusTone maps 异常 to danger", () => {
|
||||
assert.equal(getStatusTone("异常"), "danger");
|
||||
});
|
||||
|
||||
run("pickReportRecord falls back to first device record", () => {
|
||||
const record = pickReportRecord(
|
||||
{
|
||||
"2026-05-08": {
|
||||
roomA: {
|
||||
deviceA: { score: 65 },
|
||||
deviceB: { score: 79 }
|
||||
}
|
||||
}
|
||||
},
|
||||
"2026-05-08",
|
||||
"roomA",
|
||||
"missing-device"
|
||||
);
|
||||
|
||||
assert.equal(record.score, 65);
|
||||
});
|
||||
Reference in New Issue
Block a user