{ "timestamp": "2026-05-18T04:15:39.065081", "total": 156, "passed": 129, "failed": 27, "results": [ { "role": "R01", "chain": "A", "test_id": "1", "description": "Create patient", "passed": true, "detail": "" }, { "role": "R01", "chain": "A", "test_id": "2", "description": "Patient detail", "passed": true, "detail": "" }, { "role": "R01", "chain": "A", "test_id": "3", "description": "Create tag", "passed": false, "detail": "status=500, msg=内部错误" }, { "role": "R01", "chain": "A", "test_id": "3b", "description": "Assign tag to patient", "passed": false, "detail": "status=400, msg=Failed to parse the request body as JSON: EOF while parsing a value at line 1 column 0" }, { "role": "R01", "chain": "A", "test_id": "4", "description": "Devices list", "passed": true, "detail": "" }, { "role": "R01", "chain": "A", "test_id": "5", "description": "Consents list (via patient)", "passed": true, "detail": "" }, { "role": "R01", "chain": "A", "test_id": "6", "description": "Search patient", "passed": true, "detail": "" }, { "role": "R01", "chain": "B", "test_id": "1", "description": "Create follow-up task", "passed": true, "detail": "" }, { "role": "R01", "chain": "B", "test_id": "2", "description": "Follow-up list (pending)", "passed": true, "detail": "" }, { "role": "R01", "chain": "B", "test_id": "3", "description": "Follow-up templates", "passed": true, "detail": "" }, { "role": "R01", "chain": "B", "test_id": "4", "description": "Action inbox", "passed": true, "detail": "" }, { "role": "R01", "chain": "C", "test_id": "1", "description": "Consultation sessions list", "passed": true, "detail": "" }, { "role": "R01", "chain": "C", "test_id": "2", "description": "Doctor dashboard", "passed": true, "detail": "" }, { "role": "R01", "chain": "D", "test_id": "1", "description": "Critical value thresholds", "passed": true, "detail": "" }, { "role": "R01", "chain": "D", "test_id": "2", "description": "Alerts list", "passed": true, "detail": "" }, { "role": "R01", "chain": "D", "test_id": "3", "description": "Alert rules", "passed": true, "detail": "" }, { "role": "R01", "chain": "D", "test_id": "4", "description": "Critical alerts", "passed": true, "detail": "" }, { "role": "R01", "chain": "D", "test_id": "5", "description": "BLE gateways", "passed": true, "detail": "" }, { "role": "R01", "chain": "E", "test_id": "1", "description": "AI prompts", "passed": true, "detail": "" }, { "role": "R01", "chain": "E", "test_id": "2", "description": "AI suggestions", "passed": true, "detail": "" }, { "role": "R01", "chain": "E", "test_id": "3", "description": "AI chat sessions", "passed": false, "detail": "status=404, msg=" }, { "role": "R01", "chain": "F", "test_id": "1", "description": "Create article", "passed": true, "detail": "" }, { "role": "R01", "chain": "F", "test_id": "2", "description": "Edit article", "passed": false, "detail": "status=422, msg=Failed to deserialize the JSON body into the target type: missing field `version` at line 1 column 73" }, { "role": "R01", "chain": "F", "test_id": "3a", "description": "Submit article", "passed": false, "detail": "status=400, msg=Failed to parse the request body as JSON: EOF while parsing a value at line 1 column 0" }, { "role": "R01", "chain": "F", "test_id": "3b", "description": "Approve article", "passed": false, "detail": "status=400, msg=Failed to parse the request body as JSON: EOF while parsing a value at line 1 column 0" }, { "role": "R01", "chain": "F", "test_id": "4", "description": "Unpublish article", "passed": false, "detail": "status=400, msg=Failed to parse the request body as JSON: EOF while parsing a value at line 1 column 0" }, { "role": "R01", "chain": "G", "test_id": "1", "description": "Points rules", "passed": true, "detail": "" }, { "role": "R01", "chain": "G", "test_id": "2", "description": "Points products", "passed": true, "detail": "" }, { "role": "R01", "chain": "G", "test_id": "3", "description": "Points orders", "passed": true, "detail": "" }, { "role": "R01", "chain": "H", "test_id": "1", "description": "Create offline event", "passed": true, "detail": "" }, { "role": "R01", "chain": "H", "test_id": "2", "description": "List offline events", "passed": true, "detail": "" }, { "role": "R01", "chain": "I", "test_id": "1", "description": "Users list", "passed": true, "detail": "" }, { "role": "R01", "chain": "I", "test_id": "2", "description": "Roles list", "passed": true, "detail": "" }, { "role": "R01", "chain": "I", "test_id": "3", "description": "Organizations", "passed": true, "detail": "" }, { "role": "R01", "chain": "I", "test_id": "4", "description": "Statistics dashboard", "passed": true, "detail": "" }, { "role": "R01", "chain": "I", "test_id": "5", "description": "Workflow definitions", "passed": true, "detail": "" }, { "role": "R01", "chain": "I", "test_id": "6", "description": "Messages", "passed": true, "detail": "" }, { "role": "R01", "chain": "I", "test_id": "7", "description": "Settings", "passed": false, "detail": "status=404, msg=资源未找到: 设置 'general' 在 'tenant' 作用域下不存在" }, { "role": "R01", "chain": "I", "test_id": "8", "description": "Plugins", "passed": true, "detail": "" }, { "role": "R01", "chain": "I", "test_id": "9", "description": "OAuth clients", "passed": true, "detail": "" }, { "role": "R02", "chain": "A", "test_id": "1", "description": "Patient list", "passed": true, "detail": "" }, { "role": "R02", "chain": "A", "test_id": "2", "description": "Patient detail", "passed": true, "detail": "" }, { "role": "R02", "chain": "A", "test_id": "3", "description": "Create patient", "passed": true, "detail": "" }, { "role": "R02", "chain": "A", "test_id": "4", "description": "Doctor list", "passed": true, "detail": "" }, { "role": "R02", "chain": "A", "test_id": "5", "description": "Patient diagnoses", "passed": true, "detail": "" }, { "role": "R02", "chain": "A", "test_id": "6", "description": "Consents list (via patient)", "passed": true, "detail": "" }, { "role": "R02", "chain": "B", "test_id": "1", "description": "Create follow-up task", "passed": true, "detail": "" }, { "role": "R02", "chain": "B", "test_id": "2", "description": "Follow-up list", "passed": true, "detail": "" }, { "role": "R02", "chain": "B", "test_id": "3", "description": "Follow-up templates", "passed": true, "detail": "" }, { "role": "R02", "chain": "B", "test_id": "4", "description": "Action inbox", "passed": true, "detail": "" }, { "role": "R02", "chain": "C", "test_id": "1", "description": "Consultation sessions list", "passed": true, "detail": "" }, { "role": "R02", "chain": "C", "test_id": "2", "description": "Consultation messages", "passed": false, "detail": "status=405, msg=" }, { "role": "R02", "chain": "D", "test_id": "1", "description": "Alerts list", "passed": true, "detail": "" }, { "role": "R02", "chain": "D", "test_id": "2", "description": "Alert rules", "passed": true, "detail": "" }, { "role": "R02", "chain": "D", "test_id": "3", "description": "Critical alerts", "passed": true, "detail": "" }, { "role": "R02", "chain": "E", "test_id": "1", "description": "AI prompts", "passed": true, "detail": "" }, { "role": "R02", "chain": "E", "test_id": "2", "description": "AI suggestions", "passed": true, "detail": "" }, { "role": "R02", "chain": "E", "test_id": "3", "description": "Messages", "passed": true, "detail": "" }, { "role": "R02", "chain": "P", "test_id": "1", "description": "No user management", "passed": true, "detail": "" }, { "role": "R02", "chain": "P", "test_id": "2", "description": "No role management", "passed": true, "detail": "" }, { "role": "R02", "chain": "P", "test_id": "3", "description": "No points rules", "passed": true, "detail": "" }, { "role": "R02", "chain": "P", "test_id": "4", "description": "No article management", "passed": true, "detail": "" }, { "role": "R02", "chain": "P", "test_id": "5", "description": "No system settings", "passed": false, "detail": "expected=403, got=404, msg=" }, { "role": "R02", "chain": "P", "test_id": "6", "description": "No BLE gateways", "passed": true, "detail": "" }, { "role": "R02", "chain": "P", "test_id": "7", "description": "No tag management", "passed": false, "detail": "expected=403, got=200, msg=None" }, { "role": "R03", "chain": "A", "test_id": "1", "description": "Patient list", "passed": true, "detail": "" }, { "role": "R03", "chain": "A", "test_id": "2", "description": "Patient detail", "passed": true, "detail": "" }, { "role": "R03", "chain": "A", "test_id": "3", "description": "Create patient", "passed": true, "detail": "" }, { "role": "R03", "chain": "A", "test_id": "4", "description": "Daily monitoring", "passed": false, "detail": "status=405, msg=" }, { "role": "R03", "chain": "B", "test_id": "1", "description": "Follow-up tasks list", "passed": true, "detail": "" }, { "role": "R03", "chain": "B", "test_id": "2", "description": "Create follow-up task", "passed": true, "detail": "" }, { "role": "R03", "chain": "B", "test_id": "3", "description": "Update follow-up task", "passed": false, "detail": "status=422, msg=Failed to deserialize the JSON body into the target type: missing field `version` at line 1 column 25" }, { "role": "R03", "chain": "B", "test_id": "4", "description": "Follow-up records", "passed": true, "detail": "" }, { "role": "R03", "chain": "C", "test_id": "1", "description": "Consultation sessions (read)", "passed": true, "detail": "" }, { "role": "R03", "chain": "C", "test_id": "2", "description": "Consultation messages (read)", "passed": true, "detail": "" }, { "role": "R03", "chain": "D", "test_id": "1", "description": "Alerts list", "passed": true, "detail": "" }, { "role": "R03", "chain": "D", "test_id": "2", "description": "Alert detail (if any)", "passed": true, "detail": "" }, { "role": "R03", "chain": "E", "test_id": "1", "description": "Consents list (via patient)", "passed": true, "detail": "" }, { "role": "R03", "chain": "E", "test_id": "2", "description": "Create consent", "passed": false, "detail": "status=400, msg=验证失败: consent_type 必须为以下之一: data_processing, health_data_collection, research_use, third_party_share, genetic_testing, telemedicine" }, { "role": "R03", "chain": "F", "test_id": "1", "description": "Action inbox list", "passed": true, "detail": "" }, { "role": "R03", "chain": "F", "test_id": "2", "description": "Action inbox stats", "passed": true, "detail": "" }, { "role": "R03", "chain": "8.1", "test_id": "", "description": "Messages", "passed": true, "detail": "" }, { "role": "R03", "chain": "P", "test_id": "1", "description": "No doctor management", "passed": true, "detail": "" }, { "role": "R03", "chain": "P", "test_id": "2", "description": "No tag management", "passed": false, "detail": "expected=403, got=200, msg=None" }, { "role": "R03", "chain": "P", "test_id": "3", "description": "No points rules", "passed": true, "detail": "" }, { "role": "R03", "chain": "P", "test_id": "4", "description": "No article management", "passed": true, "detail": "" }, { "role": "R03", "chain": "P", "test_id": "5", "description": "No AI analysis", "passed": true, "detail": "" }, { "role": "R03", "chain": "P", "test_id": "6", "description": "No follow-up templates", "passed": true, "detail": "" }, { "role": "R03", "chain": "P", "test_id": "7", "description": "No user management", "passed": true, "detail": "" }, { "role": "R04", "chain": "A", "test_id": "1", "description": "Create tag", "passed": true, "detail": "" }, { "role": "R04", "chain": "A", "test_id": "2", "description": "Patient list", "passed": true, "detail": "" }, { "role": "R04", "chain": "A", "test_id": "3", "description": "Create patient", "passed": true, "detail": "" }, { "role": "R04", "chain": "A", "test_id": "4", "description": "Doctor list (read)", "passed": true, "detail": "" }, { "role": "R04", "chain": "B", "test_id": "1", "description": "Create follow-up task", "passed": true, "detail": "" }, { "role": "R04", "chain": "B", "test_id": "2", "description": "Follow-up list", "passed": true, "detail": "" }, { "role": "R04", "chain": "B", "test_id": "3", "description": "Follow-up templates", "passed": true, "detail": "" }, { "role": "R04", "chain": "B", "test_id": "4", "description": "Action inbox", "passed": true, "detail": "" }, { "role": "R04", "chain": "B", "test_id": "5", "description": "Team action inbox", "passed": true, "detail": "" }, { "role": "R04", "chain": "C", "test_id": "1", "description": "Consultation sessions list", "passed": true, "detail": "" }, { "role": "R04", "chain": "D", "test_id": "1", "description": "Alerts list", "passed": true, "detail": "" }, { "role": "R04", "chain": "D", "test_id": "2", "description": "Alert rules", "passed": true, "detail": "" }, { "role": "R04", "chain": "D", "test_id": "3", "description": "Critical value thresholds", "passed": true, "detail": "" }, { "role": "R04", "chain": "D", "test_id": "4", "description": "Devices (read)", "passed": true, "detail": "" }, { "role": "R04", "chain": "D", "test_id": "5", "description": "Daily monitoring", "passed": false, "detail": "status=405, msg=" }, { "role": "R04", "chain": "E", "test_id": "1", "description": "AI prompts (read)", "passed": true, "detail": "" }, { "role": "R04", "chain": "E", "test_id": "2", "description": "AI suggestions", "passed": true, "detail": "" }, { "role": "R04", "chain": "F", "test_id": "1", "description": "Consents list (via patient)", "passed": true, "detail": "" }, { "role": "R04", "chain": "F", "test_id": "2", "description": "Patient diagnoses", "passed": true, "detail": "" }, { "role": "R04", "chain": "8.1", "test_id": "", "description": "Messages", "passed": true, "detail": "" }, { "role": "R04", "chain": "9.1", "test_id": "", "description": "Workflow definitions", "passed": true, "detail": "" }, { "role": "R04", "chain": "P", "test_id": "1", "description": "No user management", "passed": true, "detail": "" }, { "role": "R04", "chain": "P", "test_id": "2", "description": "No points management", "passed": true, "detail": "" }, { "role": "R04", "chain": "P", "test_id": "3", "description": "No article management", "passed": true, "detail": "" }, { "role": "R04", "chain": "P", "test_id": "4", "description": "No system settings", "passed": false, "detail": "expected=403, got=404, msg=" }, { "role": "R04", "chain": "P", "test_id": "5", "description": "No plugin management", "passed": true, "detail": "" }, { "role": "R04", "chain": "P", "test_id": "6", "description": "No BLE gateways", "passed": true, "detail": "" }, { "role": "R05", "chain": "A", "test_id": "1", "description": "Create tag", "passed": false, "detail": "status=403, msg=禁止访问: 权限不足" }, { "role": "R05", "chain": "A", "test_id": "2", "description": "Patient list (read)", "passed": true, "detail": "" }, { "role": "R05", "chain": "A", "test_id": "3", "description": "Search patient", "passed": true, "detail": "" }, { "role": "R05", "chain": "B", "test_id": "1", "description": "Create article", "passed": true, "detail": "" }, { "role": "R05", "chain": "B", "test_id": "2", "description": "Edit article", "passed": false, "detail": "status=422, msg=Failed to deserialize the JSON body into the target type: missing field `version` at line 1 column 64" }, { "role": "R05", "chain": "B", "test_id": "3", "description": "Submit article", "passed": false, "detail": "status=400, msg=Failed to parse the request body as JSON: EOF while parsing a value at line 1 column 0" }, { "role": "R05", "chain": "B", "test_id": "4", "description": "Approve article", "passed": false, "detail": "status=400, msg=Failed to parse the request body as JSON: EOF while parsing a value at line 1 column 0" }, { "role": "R05", "chain": "C", "test_id": "1", "description": "Points rules", "passed": true, "detail": "" }, { "role": "R05", "chain": "C", "test_id": "2", "description": "Create points product", "passed": false, "detail": "status=422, msg=Failed to deserialize the JSON body into the target type: missing field `points_cost` at line 1 column 92" }, { "role": "R05", "chain": "C", "test_id": "3", "description": "Points orders", "passed": true, "detail": "" }, { "role": "R05", "chain": "D", "test_id": "1", "description": "Create event", "passed": true, "detail": "" }, { "role": "R05", "chain": "D", "test_id": "2", "description": "List events", "passed": false, "detail": "status=404, msg=资源未找到: 当前用户未关联患者档案" }, { "role": "R05", "chain": "E", "test_id": "1", "description": "Devices (read)", "passed": true, "detail": "" }, { "role": "R05", "chain": "E", "test_id": "2", "description": "Alerts (read)", "passed": true, "detail": "" }, { "role": "R05", "chain": "F", "test_id": "1", "description": "AI suggestions (read)", "passed": false, "detail": "status=403, msg=禁止访问: 权限不足" }, { "role": "R05", "chain": "8.1", "test_id": "", "description": "Messages", "passed": true, "detail": "" }, { "role": "R05", "chain": "P", "test_id": "1", "description": "No user management", "passed": true, "detail": "" }, { "role": "R05", "chain": "P", "test_id": "2", "description": "No doctor management", "passed": true, "detail": "" }, { "role": "R05", "chain": "P", "test_id": "3", "description": "No follow-up management", "passed": true, "detail": "" }, { "role": "R05", "chain": "P", "test_id": "4", "description": "No consultation management", "passed": true, "detail": "" }, { "role": "R05", "chain": "P", "test_id": "5", "description": "No diagnoses", "passed": true, "detail": "" }, { "role": "R05", "chain": "P", "test_id": "6", "description": "No action inbox", "passed": true, "detail": "" }, { "role": "R05", "chain": "P", "test_id": "7", "description": "No consents", "passed": false, "detail": "expected=403, got=405, msg=" }, { "role": "R05", "chain": "P", "test_id": "8", "description": "No AI analysis", "passed": true, "detail": "" }, { "role": "R05", "chain": "P", "test_id": "9", "description": "No system settings", "passed": false, "detail": "expected=403, got=404, msg=" }, { "role": "XROLE", "chain": "X", "test_id": "1", "description": "Doctor sees admin-created patient", "passed": true, "detail": "" }, { "role": "XROLE", "chain": "X", "test_id": "2", "description": "Nurse sees admin-created patient", "passed": true, "detail": "" }, { "role": "XROLE", "chain": "X", "test_id": "3", "description": "HM sees admin-created patient", "passed": true, "detail": "" }, { "role": "XROLE", "chain": "X", "test_id": "4", "description": "Operator sees admin-created patient", "passed": true, "detail": "" }, { "role": "XROLE", "chain": "X", "test_id": "5", "description": "Nurse sees follow-up tasks (incl. doctor-created)", "passed": true, "detail": "total=7" }, { "role": "XROLE", "chain": "X", "test_id": "6", "description": "Doctor can list tags", "passed": true, "detail": "" }, { "role": "XROLE", "chain": "X", "test_id": "7", "description": "HM can list tags", "passed": true, "detail": "" }, { "role": "XROLE", "chain": "X", "test_id": "8", "description": "Operator can list tags", "passed": true, "detail": "" }, { "role": "XROLE", "chain": "X", "test_id": "9", "description": "Doctor can view alerts", "passed": true, "detail": "" }, { "role": "XROLE", "chain": "X", "test_id": "10", "description": "Nurse can view alerts", "passed": true, "detail": "" }, { "role": "XROLE", "chain": "X", "test_id": "11", "description": "HM can view alerts", "passed": true, "detail": "" }, { "role": "XROLE", "chain": "X", "test_id": "12", "description": "Operator can manage articles", "passed": true, "detail": "" }, { "role": "XROLE", "chain": "X", "test_id": "13", "description": "Admin can see operator articles", "passed": true, "detail": "" }, { "role": "XROLE", "chain": "X", "test_id": "14", "description": "Operator sees offline events", "passed": false, "detail": "" }, { "role": "XROLE", "chain": "X", "test_id": "15", "description": "Admin sees offline events", "passed": true, "detail": "" } ] }