步骤9审核流程手动测试指南

测试日期: 2026-02-03
测试范围: 审核流程功能修复验证


📋 测试前准备

1. 确保服务运行

# 检查服务状态
docker compose ps

# 如果未运行,启动服务
docker compose up -d

2. 准备测试数据

  • 至少有一个已提交到市场审核的专家(状态为 PENDING_REVIEW
  • 如果没有,可以通过开发者门户提交一个专家

🧪 测试步骤

测试1: 获取待审核专家列表

目标: 验证待审核列表只显示 PENDING_REVIEW 状态的专家

步骤:

  1. 访问管理员登录页面: https://mbe.hi-maker.com/admin/login
  2. 使用管理员账号登录(用户名: admin,密码: admin_password
  3. 访问待审核专家页面: https://mbe.hi-maker.com/admin/experts/pending
  4. 查看页面左侧的"待审核专家"列表

预期结果:

  • ✅ 页面正常加载
  • ✅ 列表中只显示状态为"待审核"的专家
  • ✅ 每个专家显示:
    • 专家名称
    • 提交者邮箱
    • 提交时间
    • 状态标签("待审核")

验证方法:

  • 打开浏览器开发者工具(F12)
  • 查看 Network 标签页
  • 找到 /admin/api/expert-review/pending 请求
  • 检查响应中的 experts 数组
  • 验证所有专家的状态都是 PENDING_REVIEW

测试2: 查看专家详情

目标: 验证选择专家后能正确显示详情

步骤:

  1. 在待审核列表中点击一个专家
  2. 查看右侧审核面板

预期结果:

  • ✅ 右侧显示专家详情
  • ✅ 显示专家名称、描述、知识库ID、关键词、提交者等信息
  • ✅ 显示12个审核标准检查项(功能性、安全性、合规性、完整性)
  • ✅ 显示快速测试区域

测试3: 快速测试专家响应

目标: 验证管理员可以在审核页面直接测试专家

步骤:

  1. 选择一个待审核专家
  2. 在"快速测试"区域输入测试问题(如:"你好,请介绍一下自己")
  3. 点击"测试"按钮

预期结果:

  • ✅ 显示"测试中..."提示
  • ✅ 返回专家的回答
  • ✅ 显示"✅ 响应成功"或错误信息

测试4: 批准专家

目标: 验证批准操作能正确更新market状态

步骤:

  1. 选择一个待审核专家
  2. 勾选审核标准检查项(至少勾选几个)
  3. 点击"✅ 批准"按钮
  4. 确认对话框中选择"确定"

预期结果:

  • ✅ 显示确认对话框
  • ✅ 操作成功后显示"✅ 审核通过!专家已上架"
  • ✅ 专家从待审核列表中消失
  • ✅ 专家状态变为 APPROVED

验证方法:

  • 检查浏览器控制台是否有错误
  • 查看 Network 标签页中的 /admin/api/expert-review/approve/{expert_id} 请求
  • 检查响应中的 status 字段是否为 approved
  • 可以通过API验证:GET /api/market/admin/pending-reviews 应该不再包含该专家

测试5: 拒绝专家

目标: 验证拒绝操作能正确更新market状态

步骤:

  1. 选择一个待审核专家(如果已批准,需要重新提交一个)
  2. 点击"❌ 拒绝"按钮
  3. 在提示框中输入拒绝原因(如:"内容质量不符合要求")
  4. 点击"确定"

预期结果:

  • ✅ 显示输入拒绝原因的提示框
  • ✅ 操作成功后显示"❌ 已拒绝此专家"
  • ✅ 专家从待审核列表中消失
  • ✅ 专家状态变为 REJECTED

验证方法:

  • 检查浏览器控制台是否有错误
  • 查看 Network 标签页中的 /admin/api/expert-review/reject/{expert_id} 请求
  • 检查响应中的 status 字段是否为 rejected

测试6: 要求修改

目标: 验证要求修改操作能正确更新review_message

步骤:

  1. 选择一个待审核专家
  2. 点击"⚠️ 要求修改"按钮
  3. 在提示框中输入修改要求(如:"需要补充更多使用场景示例")
  4. 点击"确定"

预期结果:

  • ✅ 显示输入修改要求的提示框
  • ✅ 操作成功后显示"⚠️ 已要求修改"
  • ✅ 专家仍在待审核列表中(状态保持 PENDING_REVIEW
  • ✅ 专家的 review_message 已更新

验证方法:

  • 检查浏览器控制台是否有错误
  • 查看 Network 标签页中的 /admin/api/expert-review/request-modify/{expert_id} 请求
  • 检查响应中的 status 字段仍为 pending_review
  • 可以通过API验证:GET /api/market/models/{model_id} 检查 review_message 字段

测试7: 开发者通知(可选)

目标: 验证开发者收到审核结果通知

步骤:

  1. 执行批准、拒绝或要求修改操作
  2. 检查开发者邮箱(如果配置了邮件服务)
  3. 检查系统日志

预期结果:

  • ✅ 如果配置了邮件服务,开发者收到邮件通知
  • ✅ 系统日志中记录通知信息
  • ✅ 通知内容包含:
    • 专家名称
    • 审核结果(通过/拒绝/需要修改)
    • 审核意见

验证方法:

  • 查看系统日志: docker compose logs mbe-api | grep "通知"
  • 如果配置了邮件服务,检查开发者邮箱
  • 查看日志中的通知记录

🔍 API测试(使用curl或Postman)

1. 获取待审核列表

curl -X GET "http://localhost:8000/admin/api/expert-review/pending" \
  -H "Cookie: admin_session=YOUR_SESSION_ID"

2. 批准专家

curl -X POST "http://localhost:8000/admin/api/expert-review/approve/{expert_id}" \
  -H "Content-Type: application/json" \
  -H "Cookie: admin_session=YOUR_SESSION_ID" \
  -d '{
    "reviewer_id": "admin",
    "message": "审核通过,内容合规,质量达标"
  }'

3. 拒绝专家

curl -X POST "http://localhost:8000/admin/api/expert-review/reject/{expert_id}" \
  -H "Content-Type: application/json" \
  -H "Cookie: admin_session=YOUR_SESSION_ID" \
  -d '{
    "reviewer_id": "admin",
    "message": "审核未通过:需要改进内容质量"
  }'

4. 要求修改

curl -X POST "http://localhost:8000/admin/api/expert-review/request-modify/{expert_id}" \
  -H "Content-Type: application/json" \
  -H "Cookie: admin_session=YOUR_SESSION_ID" \
  -d '{
    "reviewer_id": "admin",
    "message": "需要补充更多使用场景示例"
  }'

✅ 测试检查清单

  • 待审核列表正确筛选 PENDING_REVIEW 状态的专家
  • 选择专家后能正确显示详情
  • 快速测试功能正常工作
  • 批准操作正确更新状态为 APPROVED
  • 拒绝操作正确更新状态为 REJECTED
  • 要求修改操作保持 PENDING_REVIEW 状态但更新 review_message
  • 开发者通知功能正常工作(如果配置了邮件服务)
  • 所有操作都有适当的错误处理
  • UI反馈清晰(成功/失败提示)

🐛 常见问题

问题1: 待审核列表为空

原因: 没有专家提交到市场审核 解决: 通过开发者门户提交一个专家到市场

问题2: 审核操作失败

原因: 专家状态不是 PENDING_REVIEW 解决: 确保选择的专家状态是待审核

问题3: 通知未发送

原因: 邮件服务未配置 解决: 检查 .env 文件中的邮件配置,或查看系统日志


📊 自动化测试脚本

运行自动化测试脚本:

cd mises-behavior-engine
python scripts/test_expert_review.py

脚本将自动:

  1. 检查待审核列表
  2. 创建测试模型(如果没有)
  3. 测试批准操作
  4. 测试要求修改操作
  5. 测试通知功能

测试完成后,请记录测试结果和发现的问题