Files
hzdyjs/出国党籍保留审批功能-测试脚本.md
T
2025-10-14 16:41:19 +08:00

11 KiB
Raw Blame History

出国党籍保留审批功能 - 测试脚本

📋 测试目标

验证审批通过后,数据能够正确显示在"保留历史"选项卡中。


🔧 测试环境准备

1. 启动后端服务

cd /Users/weizzzz/Documents/Cursor/0828CURSOR/all-project/backend
# 启动后端服务(端口8080)

2. 启动前端服务

cd /Users/weizzzz/Documents/Cursor/0828CURSOR/all-project/web
npm run dev
# 前端服务(端口80)

📝 测试步骤

步骤1:创建测试数据(SQL)

在数据库中执行以下SQL,创建一条待审批的测试数据:

-- 插入一条待审批的测试数据
INSERT INTO rs_party_membership_retention (
    name,
    id_card,
    position,
    spouse,
    travel_start_date,
    travel_end_date,
    stay_days,
    destination,
    purpose,
    travel_reason,
    self_funded,
    request_approval,
    party_branch,
    application_date,
    status,
    application_time,
    create_time,
    update_time,
    create_by,
    update_by,
    deleted,
    tenant_id
) VALUES (
    '测试党员张三',                    -- name
    '330101199001011234',             -- id_card
    '副教授',                          -- position
    '李四',                            -- spouse
    '2025-02-01',                     -- travel_start_date
    '2025-02-28',                     -- travel_end_date
    28,                               -- stay_days
    '美国',                            -- destination
    '参加国际学术会议,进行学术交流',    -- purpose
    '学术交流',                         -- travel_reason
    '1',                              -- self_funded (1-是)
    '请求审批通过',                     -- request_approval
    '计算机学院第一党支部',              -- party_branch
    CURDATE(),                        -- application_date
    '1',                              -- status (1-待审批)
    NOW(),                            -- application_time
    NOW(),                            -- create_time
    NOW(),                            -- update_time
    1,                                -- create_by
    1,                                -- update_by
    0,                                -- deleted
    '000000'                          -- tenant_id
);

-- 查询刚插入的数据
SELECT 
    retention_id,
    name,
    destination,
    status,
    application_time
FROM rs_party_membership_retention
WHERE name = '测试党员张三'
ORDER BY create_time DESC
LIMIT 1;

预期结果:

  • 插入成功
  • status = '1'(待审批)
  • 记录 retention_id,后续步骤会用到

步骤2:测试审批页面 - 待审批列表

  1. 登录系统

    • 使用有审批权限的账号登录
    • 权限标识:rs:partyretention:approve
  2. 进入审批页面

    • 导航路径:人事管理 → 党籍保留审批
    • 或直接访问:http://localhost/#/rs/party-membership-retention/approval
  3. 验证待审批列表

    • ✅ 应该能看到"测试党员张三"的记录
    • ✅ 状态显示为"待审批"
    • ✅ 显示申请时间、目的地等信息
  4. 查看详情

    • 点击"查看详情"按钮
    • ✅ 弹窗显示完整的申请信息
    • ✅ 包含姓名、身份证号、出国时间、目的地、目的等

步骤3:测试审批操作 - 审批通过

  1. 点击"审批通过"按钮

    • 在待审批列表中,找到"测试党员张三"的记录
    • 点击"审批通过"按钮
  2. 填写审批意见(可选)

    • 弹出审批意见输入框
    • 输入:同意该同志出国申请,保留党籍
    • 点击"确定"
  3. 验证审批成功

    • ✅ 提示"审批成功"
    • ✅ 该记录从待审批列表中消失
  4. 验证数据库状态

    -- 查询审批后的数据状态
    SELECT 
        retention_id,
        name,
        status,
        final_approval,
        update_time
    FROM rs_party_membership_retention
    WHERE name = '测试党员张三';
    

    预期结果:

    • ✅ status = '2'(已通过)
    • ✅ final_approval = '同意该同志出国申请,保留党籍'
    • ✅ update_time 已更新

步骤4:测试审批记录选项卡

  1. 切换到"审批记录"选项卡

    • 在审批页面,点击"审批记录"选项卡
  2. 验证审批记录显示

    • ✅ 应该能看到"测试党员张三"的记录
    • ✅ 状态显示为"已通过"(绿色标签)
    • ✅ 显示审批时间
  3. 查看审批记录详情

    • 点击"查看详情"按钮
    • ✅ 显示完整的申请信息
    • ✅ 显示审批意见

步骤5:测试保留历史选项卡(关键验证)

  1. 进入党籍保留管理页面

    • 导航路径:人事管理 → 党籍保留管理
    • 或直接访问:http://localhost/#/rs/party-membership-retention
  2. 切换到"保留历史"选项卡

    • 点击"保留历史"选项卡
  3. 验证保留历史显示(核心验证)

    • ✅ 应该能看到"测试党员张三"的记录
    • ✅ 显示申请人员、出国原因、目的地
    • ✅ 显示保留时间(2025-02-01 至 2025-02-28)
    • ✅ 完成状态显示(默认为"进行中")
  4. 查看保留历史详情

    • 双击记录或点击"查看详情"按钮
    • ✅ 显示完整的保留信息
  5. 测试保留历史编辑

    • 点击"编辑记录"按钮
    • 可以修改备注、完成状态等信息
    • ✅ 保存成功

步骤6:测试保留历史导出

  1. 在保留历史选项卡中

    • 点击"导出"按钮
  2. 验证导出功能

    • ✅ 下载Excel文件成功
    • ✅ 文件名:党籍保留历史_YYYY-MM-DD.xlsx
    • ✅ 文件包含"测试党员张三"的记录
    • ✅ 只包含已通过的记录(status=2)

🔄 完整数据流转验证

数据流转路径

1. 创建测试数据
   ↓
   rs_party_membership_retention 表
   status = '1' (待审批)
   ↓

2. 审批页面 - 待审批列表
   ↓
   GET /rs/party/retention/list?status=1
   ✅ 显示测试数据
   ↓

3. 审批通过
   ↓
   PUT /rs/party/retention/approve/{retentionId}
   参数: approved=true, approvalOpinion='...'
   ↓
   数据库更新: status = '2' (已通过)
   ↓

4. 审批记录列表
   ↓
   GET /rs/party/retention/list?status=2,3
   ✅ 显示审批通过的记录
   ↓

5. 保留历史列表(关键验证)
   ↓
   GET /rs/party/retention/history/list
   (后端强制 status=2)
   ✅ 显示审批通过的记录

🧪 接口测试(可选)

使用Postman或curl测试

1. 测试保留历史列表接口

# 获取Token(先登录)
TOKEN="your_token_here"

# 测试保留历史列表
curl -X GET "http://localhost:8080/rs/party/retention/history/list?pageNum=1&pageSize=10" \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json"

预期响应:

{
  "code": 200,
  "msg": "查询成功",
  "rows": [
    {
      "retentionId": 1,
      "name": "测试党员张三",
      "destination": "美国",
      "status": "2",
      "statusText": "已通过",
      "travelStartDate": "2025-02-01",
      "travelEndDate": "2025-02-28",
      "stayDays": 28
    }
  ],
  "total": 1
}

2. 测试保留历史详情接口

# 替换 {retentionId} 为实际的ID
curl -X GET "http://localhost:8080/rs/party/retention/history/1" \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json"

预期响应:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "retentionId": 1,
    "name": "测试党员张三",
    "status": "2",
    "finalApproval": "同意该同志出国申请,保留党籍"
  }
}

✅ 测试检查清单

后端接口测试

  • GET /rs/party/retention/history/list - 查询历史列表
  • GET /rs/party/retention/history/{retentionId} - 查询历史详情
  • PUT /rs/party/retention/history - 更新历史记录
  • POST /rs/party/retention/history/export - 导出历史数据

前端功能测试

  • 审批页面 - 待审批列表显示正常
  • 审批页面 - 审批通过功能正常
  • 审批页面 - 审批记录显示正常
  • 保留历史 - 列表显示审批通过的数据
  • 保留历史 - 详情查看功能正常
  • 保留历史 - 编辑功能正常
  • 保留历史 - 导出功能正常

数据流转测试

  • 待审批数据创建成功(status=1)
  • 审批通过后状态变更(status=2)
  • 审批通过的数据从待审批列表消失
  • 审批通过的数据出现在审批记录
  • 审批通过的数据出现在保留历史(核心验证)

权限测试

  • 无审批权限的用户无法访问审批页面
  • 无查询权限的用户无法查看保留历史
  • 无编辑权限的用户无法编辑保留历史

🐛 常见问题排查

问题1:保留历史列表为空

可能原因:

  1. 没有审批通过的数据(status=2)
  2. 后端接口未正确实现
  3. 前端接口调用错误

排查步骤:

-- 1. 检查数据库中是否有已通过的数据
SELECT * FROM rs_party_membership_retention WHERE status = '2';

-- 2. 检查后端日志
-- 查看是否有接口调用日志

-- 3. 检查前端Network
-- 打开浏览器开发者工具,查看Network请求
-- 确认调用的是 /rs/party/retention/history/list

问题2:审批后状态未更新

可能原因:

  1. 审批接口调用失败
  2. 数据库更新失败
  3. 事务回滚

排查步骤:

-- 检查数据状态
SELECT 
    retention_id,
    name,
    status,
    final_approval,
    update_time
FROM rs_party_membership_retention
WHERE name = '测试党员张三';

-- 如果status仍为'1',说明审批未成功

问题3:权限不足

错误提示:403 Forbidden 或 权限不足

解决方案:

  1. 确认用户有 rs:partyretention:approve 权限
  2. 确认用户有 rs:partyretention:list 权限
  3. 在系统管理 → 角色管理中分配权限

📊 测试报告模板

测试结果记录

测试项 预期结果 实际结果 状态 备注
创建测试数据 插入成功,status=1 ⏳
待审批列表显示 显示测试数据 ⏳
审批通过操作 审批成功,status=2 ⏳
审批记录显示 显示已通过记录 ⏳
保留历史显示 显示已通过记录 ⏳ 核心验证
保留历史详情 显示完整信息 ⏳
保留历史编辑 编辑成功 ⏳
保留历史导出 导出成功 ⏳

测试结论

  • ✅ 所有测试通过
  • ⚠️ 部分测试失败(需要修复)
  • ❌ 测试失败(需要重新开发)

问题记录

问题描述 严重程度 状态 解决方案

🚀 下一步行动

测试通过后

  1. ✅ 清理测试数据
  2. ✅ 更新API文档
  3. ✅ 编写用户手册
  4. ✅ 培训审批人员

测试失败后

  1. ❌ 记录问题详情
  2. ❌ 分析失败原因
  3. ❌ 修复代码
  4. ❌ 重新测试

测试脚本创建时间:2025-01-09
测试人员:_________
测试日期:_________
测试环境:开发环境