|
|
|
|
@ -7,6 +7,10 @@ const teacherTaskPage = readFileSync(resolve(root, "src/views/teacherEnd/trainin
|
|
|
|
|
const studentDemoPage = readFileSync(resolve(root, "src/views/studentDemo/index.vue"), "utf8");
|
|
|
|
|
|
|
|
|
|
assert.match(teacherTaskPage, /window\.open\("\/#\/student-demo", "_blank"\)/, "学生端讲解必须通过 Hash 路由打开演示入口");
|
|
|
|
|
assert.match(studentDemoPage, /window\.location\.replace\("\/#\/index"\)/, "兑换演示学生会话后必须通过 Hash 路由进入学生首页");
|
|
|
|
|
assert.match(studentDemoPage, /import useUserStore from "@\/store\/modules\/user";/, "演示页必须能更新当前窗口的用户状态");
|
|
|
|
|
assert.match(studentDemoPage, /userStore\.token = res\.data\.token;/, "兑换成功后必须替换教师窗口初始 token");
|
|
|
|
|
assert.match(studentDemoPage, /userStore\.userInfo = res\.data;/, "兑换成功后必须替换教师窗口初始用户身份");
|
|
|
|
|
assert.match(studentDemoPage, /window\.location\.hash = "#\/index";/, "兑换演示学生会话后必须切换到学生首页 Hash");
|
|
|
|
|
assert.match(studentDemoPage, /window\.location\.reload\(\);/, "切换演示身份后必须重新初始化动态路由和侧栏");
|
|
|
|
|
|
|
|
|
|
console.log("student demo uses hash routes instead of falling back to the teacher homepage");
|
|
|
|
|
|