{
  "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": []
}