diff --git a/src/utils/studentTrainingNavigation.js b/src/utils/studentTrainingNavigation.js index bb27469..532f2a2 100644 --- a/src/utils/studentTrainingNavigation.js +++ b/src/utils/studentTrainingNavigation.js @@ -45,8 +45,20 @@ export function buildStudentTaskSections(tasks = []) { sections.get(title).children.push({ title: task.taskName || task.taskKey, path: taskPath(task.taskKey), + }); }); + const comprehensiveTask = tasks.find((task) => task?.taskKey === COMPREHENSIVE_TASK_KEY); + if (comprehensiveTask) { + sections.set("综合实训", { + title: "综合实训", + children: [ + { + title: comprehensiveTask.taskName || "综合案例实训", + path: "/comprehensive/index", + }, + ], }); + } return [...sections.values()]; } diff --git a/tests/student-training-navigation-esm.test.mjs b/tests/student-training-navigation-esm.test.mjs index cbe14a2..0a47c27 100644 --- a/tests/student-training-navigation-esm.test.mjs +++ b/tests/student-training-navigation-esm.test.mjs @@ -17,6 +17,20 @@ assert.deepEqual(sections, [ }, ]); +assert.deepEqual(buildStudentTaskSections([ + { + taskKey: "comprehensive-case-training", + taskName: "综合案例实训", + projectName: "综合实训", + sort: 99, + }, +]), [ + { + title: "综合实训", + children: [{ title: "综合案例实训", path: "/comprehensive/index" }], + }, +]); + assert.deepEqual(getComprehensiveTopTask([{ taskKey: "comprehensive-case-training", taskName: "综合实训" }]), { title: "综合实训", path: "/comprehensive/index",