1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2026-08-12 09:20:31 +00:00
Classworks/scripts/test-uaf-export.js

23 lines
1.0 KiB
JavaScript

import assert from "node:assert/strict";
import { createUafDocument, hasExportableHomework, normalizeUafDate, UafExportValidationError } from "../src/utils/uafExport.js";
const items = [
{ type: "exam", name: "考试安排", content: "ignored" },
{ type: "homework", name: "数学", content: "完成第 1、2 题" },
{ type: "time", name: "时间" },
{ type: "custom", name: "班级任务", content: "整理讲台" },
];
assert.equal(normalizeUafDate("20260711"), "2026-07-11");
assert.equal(hasExportableHomework(items), true);
assert.deepEqual(createUafDocument(items, "20260711"), [
{ subject: "数学", date: "2026-07-11", content: "完成第 1、2 题", tags: [] },
{ subject: "班级任务", date: "2026-07-11", content: "整理讲台", tags: [] },
]);
assert.throws(() => createUafDocument([], "20260711"), UafExportValidationError);
assert.throws(
() => createUafDocument([{ type: "homework", name: "数学", content: "x".repeat(2001) }], "20260711"),
/2000/,
);
console.log("Classworks UAF export mapping tests passed.");