Some checks failed
Security / deep-security-scan (push) Failing after 20m5s
DR Drill / dr-drill (push) Failing after 1m31s
CI / scheduled-backup (push) Failing after 1m31s
CI / backup-verify (push) Has been skipped
CI / weekly-dr-drill (push) Failing after 0s
CI / build-deploy (push) Has been cancelled
CI / security-scan (push) Has been cancelled
主要变更: - 新增 lesson-preparation 模块: 备课编辑器、节点编辑、AI 建议、知识点选择、版本历史、作业发布 - 新增 shared 通用组件: charts/question-bank-filters/schedule-list/ui (chip-nav/filter-bar/page-header/stat-card/stat-item) - 新增 student/admin 端 loading.tsx 与 error.tsx, 优化加载与错误态体验 - 新增 teacher/lesson-plans 页面 (列表/新建/编辑) - 新增 drizzle 迁移 0002_tiny_lionheart 及 snapshot - 新增 textbooks/schema.ts 与 exams/utils/normalize-structure.ts - 修复 Tiptap v3 SSR hydration 崩溃 (rich-text-block immediatelyRender: false) - 重构多模块 data-access/actions/组件, 修复权限校验与类型规范 - 同步架构文档 004/005 反映新增模块、导出、依赖关系 - 归档 bugs/* 测试报告与 e2e 测试脚本 (admin/parent/student/teacher web_test)
308 lines
9.8 KiB
JSON
308 lines
9.8 KiB
JSON
{
|
|
"test_date": "2026-06-20 13:09:23",
|
|
"test_target": "管理员端 (Admin)",
|
|
"base_url": "http://127.0.0.1:3000",
|
|
"admin_email": "admin@xiaoxue.edu.cn",
|
|
"summary": {
|
|
"total": 31,
|
|
"passed": 29,
|
|
"failed": 0,
|
|
"warnings": 0
|
|
},
|
|
"pages": {
|
|
"admin_dashboard": {
|
|
"url": "http://127.0.0.1:3000/admin/dashboard",
|
|
"category": "Dashboard",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/dashboard"
|
|
},
|
|
"admin_school": {
|
|
"url": "http://127.0.0.1:3000/admin/school",
|
|
"category": "School Management",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": "http://127.0.0.1:3000/admin/school/classes",
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/school/classes"
|
|
},
|
|
"admin_school_schools": {
|
|
"url": "http://127.0.0.1:3000/admin/school/schools",
|
|
"category": "School Management",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [
|
|
"ClientFetchError: Failed to fetch. Read more at https://errors.authjs.dev#autherror\n at fetchData (http://127.0.0.1:3000/_next/static/chunks/node_modules_bd34fee5._.js:2829:22)\n at async getSession (http://127.0.0.1:3000/_next/static/chunks/node_modules_bd34fee5._.js:2996:21)\n at async SessionProvider.useEffect [as _getSession] (http://127.0.0.1:3000/_next/static/chunks/node_modules_bd34fee5._.js:3139:51)"
|
|
],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/school/schools"
|
|
},
|
|
"admin_school_grades": {
|
|
"url": "http://127.0.0.1:3000/admin/school/grades",
|
|
"category": "School Management",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/school/grades"
|
|
},
|
|
"admin_school_grades_insights": {
|
|
"url": "http://127.0.0.1:3000/admin/school/grades/insights",
|
|
"category": "School Management",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/school/grades/insights"
|
|
},
|
|
"admin_school_departments": {
|
|
"url": "http://127.0.0.1:3000/admin/school/departments",
|
|
"category": "School Management",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/school/departments"
|
|
},
|
|
"admin_school_classes": {
|
|
"url": "http://127.0.0.1:3000/admin/school/classes",
|
|
"category": "School Management",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/school/classes"
|
|
},
|
|
"admin_school_academic-year": {
|
|
"url": "http://127.0.0.1:3000/admin/school/academic-year",
|
|
"category": "School Management",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/school/academic-year"
|
|
},
|
|
"admin_course-plans": {
|
|
"url": "http://127.0.0.1:3000/admin/course-plans",
|
|
"category": "Course Plans",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/course-plans"
|
|
},
|
|
"admin_course-plans_create": {
|
|
"url": "http://127.0.0.1:3000/admin/course-plans/create",
|
|
"category": "Course Plan Detail",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/course-plans/create"
|
|
},
|
|
"admin_users_import": {
|
|
"url": "http://127.0.0.1:3000/admin/users/import",
|
|
"category": "Users",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/users/import"
|
|
},
|
|
"admin_scheduling_rules": {
|
|
"url": "http://127.0.0.1:3000/admin/scheduling/rules",
|
|
"category": "Scheduling",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/scheduling/rules"
|
|
},
|
|
"admin_scheduling_auto": {
|
|
"url": "http://127.0.0.1:3000/admin/scheduling/auto",
|
|
"category": "Scheduling",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/scheduling/auto"
|
|
},
|
|
"admin_scheduling_changes": {
|
|
"url": "http://127.0.0.1:3000/admin/scheduling/changes",
|
|
"category": "Scheduling",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/scheduling/changes"
|
|
},
|
|
"admin_audit-logs": {
|
|
"url": "http://127.0.0.1:3000/admin/audit-logs",
|
|
"category": "Audit Logs",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/audit-logs"
|
|
},
|
|
"admin_audit-logs_login-logs": {
|
|
"url": "http://127.0.0.1:3000/admin/audit-logs/login-logs",
|
|
"category": "Audit Logs",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/audit-logs/login-logs"
|
|
},
|
|
"admin_audit-logs_data-changes": {
|
|
"url": "http://127.0.0.1:3000/admin/audit-logs/data-changes",
|
|
"category": "Audit Logs",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/audit-logs/data-changes"
|
|
},
|
|
"admin_announcements": {
|
|
"url": "http://127.0.0.1:3000/admin/announcements",
|
|
"category": "Announcements",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/announcements"
|
|
},
|
|
"admin_elective": {
|
|
"url": "http://127.0.0.1:3000/admin/elective",
|
|
"category": "Electives",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/elective"
|
|
},
|
|
"admin_elective_create": {
|
|
"url": "http://127.0.0.1:3000/admin/elective/create",
|
|
"category": "Elective Edit",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/elective/create"
|
|
},
|
|
"admin_attendance": {
|
|
"url": "http://127.0.0.1:3000/admin/attendance",
|
|
"category": "Attendance",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/attendance"
|
|
},
|
|
"admin_files": {
|
|
"url": "http://127.0.0.1:3000/admin/files",
|
|
"category": "Files",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/files"
|
|
},
|
|
"messages": {
|
|
"url": "http://127.0.0.1:3000/messages",
|
|
"category": "Messages",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/messages"
|
|
},
|
|
"settings": {
|
|
"url": "http://127.0.0.1:3000/settings",
|
|
"category": "Settings",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/settings"
|
|
},
|
|
"profile": {
|
|
"url": "http://127.0.0.1:3000/profile",
|
|
"category": "Profile",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/profile"
|
|
},
|
|
"announcements": {
|
|
"url": "http://127.0.0.1:3000/announcements",
|
|
"category": "Announcements (Public)",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/announcements"
|
|
},
|
|
"admin_announcements_bepepsukauda7qq3maftujc8": {
|
|
"url": "http://127.0.0.1:3000/admin/announcements/bepepsukauda7qq3maftujc8",
|
|
"category": "Announcement Detail",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/announcements/bepepsukauda7qq3maftujc8"
|
|
},
|
|
"admin_announcements_ann_class_g1c1": {
|
|
"url": "http://127.0.0.1:3000/admin/announcements/ann_class_g1c1",
|
|
"category": "Announcement Detail",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/announcements/ann_class_g1c1"
|
|
},
|
|
"admin_course-plans_cp_g1c1_chinese": {
|
|
"url": "http://127.0.0.1:3000/admin/course-plans/cp_g1c1_chinese",
|
|
"category": "Course Plan Detail",
|
|
"status": "passed",
|
|
"http_status": 200,
|
|
"redirect_url": null,
|
|
"errors": [],
|
|
"warnings": [],
|
|
"final_url": "http://127.0.0.1:3000/admin/course-plans/cp_g1c1_chinese"
|
|
}
|
|
},
|
|
"console_errors": [],
|
|
"navigation_issues": []
|
|
} |