const assert = require("node:assert/strict"); const fs = require("node:fs"); const path = require("node:path"); const root = path.resolve(__dirname, ".."); const page = fs.readFileSync(path.join(root, "src", "views", "teacherEnd", "score", "index.vue"), "utf8"); const api = fs.readFileSync(path.join(root, "src", "api", "teacher.js"), "utf8"); assert.match(page, /已完成\s*\{\{\s*row\.completedTaskCount/); assert.match(page, /teacherScoreDraft/); assert.match(page, /saveTaskTeacherScore/); assert.doesNotMatch(page, /saveTeacherScore\(row\)/); assert.doesNotMatch(page, /teacher-score-editor/); assert.match(api, /saveTaskTeacherScore/); assert.doesNotMatch(api, /url: "\/api\/weight\/saveTeacherScore"/); console.log("teacher score sync UI contract passed");