11 KiB
11 KiB
出国党籍保留审批功能 - 测试脚本
📋 测试目标
验证审批通过后,数据能够正确显示在"保留历史"选项卡中。
🔧 测试环境准备
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:测试审批页面 - 待审批列表
-
登录系统
- 使用有审批权限的账号登录
- 权限标识:
rs:partyretention:approve
-
进入审批页面
- 导航路径:人事管理 → 党籍保留审批
- 或直接访问:
http://localhost/#/rs/party-membership-retention/approval
-
验证待审批列表
- ✅ 应该能看到"测试党员张三"的记录
- ✅ 状态显示为"待审批"
- ✅ 显示申请时间、目的地等信息
-
查看详情
- 点击"查看详情"按钮
- ✅ 弹窗显示完整的申请信息
- ✅ 包含姓名、身份证号、出国时间、目的地、目的等
步骤3:测试审批操作 - 审批通过
-
点击"审批通过"按钮
- 在待审批列表中,找到"测试党员张三"的记录
- 点击"审批通过"按钮
-
填写审批意见(可选)
- 弹出审批意见输入框
- 输入:
同意该同志出国申请,保留党籍 - 点击"确定"
-
验证审批成功
- ✅ 提示"审批成功"
- ✅ 该记录从待审批列表中消失
-
验证数据库状态
-- 查询审批后的数据状态 SELECT retention_id, name, status, final_approval, update_time FROM rs_party_membership_retention WHERE name = '测试党员张三';预期结果:
- ✅
status= '2'(已通过) - ✅
final_approval= '同意该同志出国申请,保留党籍' - ✅
update_time已更新
- ✅
步骤4:测试审批记录选项卡
-
切换到"审批记录"选项卡
- 在审批页面,点击"审批记录"选项卡
-
验证审批记录显示
- ✅ 应该能看到"测试党员张三"的记录
- ✅ 状态显示为"已通过"(绿色标签)
- ✅ 显示审批时间
-
查看审批记录详情
- 点击"查看详情"按钮
- ✅ 显示完整的申请信息
- ✅ 显示审批意见
步骤5:测试保留历史选项卡(关键验证)
-
进入党籍保留管理页面
- 导航路径:人事管理 → 党籍保留管理
- 或直接访问:
http://localhost/#/rs/party-membership-retention
-
切换到"保留历史"选项卡
- 点击"保留历史"选项卡
-
验证保留历史显示(核心验证)
- ✅ 应该能看到"测试党员张三"的记录
- ✅ 显示申请人员、出国原因、目的地
- ✅ 显示保留时间(2025-02-01 至 2025-02-28)
- ✅ 完成状态显示(默认为"进行中")
-
查看保留历史详情
- 双击记录或点击"查看详情"按钮
- ✅ 显示完整的保留信息
-
测试保留历史编辑
- 点击"编辑记录"按钮
- 可以修改备注、完成状态等信息
- ✅ 保存成功
步骤6:测试保留历史导出
-
在保留历史选项卡中
- 点击"导出"按钮
-
验证导出功能
- ✅ 下载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:保留历史列表为空
可能原因:
- 没有审批通过的数据(status=2)
- 后端接口未正确实现
- 前端接口调用错误
排查步骤:
-- 1. 检查数据库中是否有已通过的数据
SELECT * FROM rs_party_membership_retention WHERE status = '2';
-- 2. 检查后端日志
-- 查看是否有接口调用日志
-- 3. 检查前端Network
-- 打开浏览器开发者工具,查看Network请求
-- 确认调用的是 /rs/party/retention/history/list
问题2:审批后状态未更新
可能原因:
- 审批接口调用失败
- 数据库更新失败
- 事务回滚
排查步骤:
-- 检查数据状态
SELECT
retention_id,
name,
status,
final_approval,
update_time
FROM rs_party_membership_retention
WHERE name = '测试党员张三';
-- 如果status仍为'1',说明审批未成功
问题3:权限不足
错误提示:403 Forbidden 或 权限不足
解决方案:
- 确认用户有
rs:partyretention:approve权限 - 确认用户有
rs:partyretention:list权限 - 在系统管理 → 角色管理中分配权限
📊 测试报告模板
测试结果记录
| 测试项 | 预期结果 | 实际结果 | 状态 | 备注 |
|---|---|---|---|---|
| 创建测试数据 | 插入成功,status=1 | ⏳ | ||
| 待审批列表显示 | 显示测试数据 | ⏳ | ||
| 审批通过操作 | 审批成功,status=2 | ⏳ | ||
| 审批记录显示 | 显示已通过记录 | ⏳ | ||
| 保留历史显示 | 显示已通过记录 | ⏳ | 核心验证 | |
| 保留历史详情 | 显示完整信息 | ⏳ | ||
| 保留历史编辑 | 编辑成功 | ⏳ | ||
| 保留历史导出 | 导出成功 | ⏳ |
测试结论
- ✅ 所有测试通过
- ⚠️ 部分测试失败(需要修复)
- ❌ 测试失败(需要重新开发)
问题记录
| 问题描述 | 严重程度 | 状态 | 解决方案 |
|---|---|---|---|
🚀 下一步行动
测试通过后
- ✅ 清理测试数据
- ✅ 更新API文档
- ✅ 编写用户手册
- ✅ 培训审批人员
测试失败后
- ❌ 记录问题详情
- ❌ 分析失败原因
- ❌ 修复代码
- ❌ 重新测试
测试脚本创建时间:2025-01-09
测试人员:_________
测试日期:_________
测试环境:开发环境