diff --git a/tests/task-publication.static.test.cjs b/tests/task-publication.static.test.cjs index 82e2f1b..52f96ca 100644 --- a/tests/task-publication.static.test.cjs +++ b/tests/task-publication.static.test.cjs @@ -11,7 +11,7 @@ const api = read("src/api/teacher.js"); assert(taskPage.includes('import { listClassTrainingTasks } from "@/api/trainingTask";'), "task allocation must import the class-scoped training task source"); assert(taskPage.includes("listClassTrainingTasks"), "task allocation must load training tasks for the selected teaching class"); assert(taskPage.includes("await listClassTrainingTasks(classId.value, { enabledOnly: false })"), "class task loading must request disabled and enabled tasks"); -assert(taskPage.includes("tasks.value = [];\n const res = await listClassTrainingTasks"), "class task loading must clear prior class rows before requesting the selected class"); +assert(/tasks\.value = \[\];\s+const res = await listClassTrainingTasks/.test(taskPage), "class task loading must clear prior class rows before requesting the selected class"); assert((taskPage.match(/const requestedClassId = classId\.value;/g) || []).length >= 2, "task and publication loading must capture the requested class"); assert((taskPage.match(/if \(!isActiveLoad\(requestedClassId, requestGeneration\)\) return/g) || []).length >= 2, "stale class requests must not update task rows or publication selection"); assert(taskPage.includes("let activeLoadGeneration = 0;"), "overlapping class loads must use a shared generation");