Files
ccdi/docs/tests/records/2026-04-26-staff-family-enterprise-relation-import-all-cases-browser-test-record.md

85 lines
3.4 KiB
Markdown
Raw Normal View History

2026-07-02 16:48:17 +08:00
# 员工亲属实体关联导入全场景真实页面测试记录
## 测试时间
2026-04-26 16:02
## 测试范围
- 页面:员工亲属实体关联
- 实际访问地址:`http://localhost:8080/maintain/staffEnterpriseRelation`
- 导入接口:`/ccdi/staffEnterpriseRelation/importData`
- 导入状态接口:`/ccdi/staffEnterpriseRelation/importStatus/{taskId}`
- 失败记录接口:`/ccdi/staffEnterpriseRelation/importFailures/{taskId}`
## 环境信息
- 后端:本地 `62318` 端口既有进程
- 前端:`ruoyi-ui` 使用 `.nvmrc` 指定的 Node `14.21.3`,执行 `npm run dev -- --port 8080 --open false`
- 浏览器Playwright 启动本机 Google Chrome访问真实业务页面
## 前置数据
- 有效亲属:`320101199201010051 LSFX低收入亲属 / 导入验证员工20260317`
- 临时无效亲属:`320101199801010421`
- 测试企业名前缀:`全场景导入测试企业520344`
## 覆盖场景
1. 空模板
- 行数0
- 预期:页面提示 `至少需要一条数据`
- 结果:通过
2. 基础校验失败
- 行数9
- 覆盖:
- 亲属身份证号为空
- 统一社会信用代码为空
- 企业名称为空
- 亲属身份证号格式错误
- 统一社会信用代码格式错误
- 亲属身份证号不存在
- 亲属身份证号不是有效员工亲属
- 企业名称长度超过 200 个字符
- 关联人在企业的职务长度超过 100 个字符
- 结果:成功 0 条,失败 9 条,失败记录弹窗逐项展示对应原因
3. 全成功
- 行数3
- 结果:成功 3 条,失败 0 条,列表可查询到成功导入记录
4. 成功失败混合
- 行数5
- 覆盖:
- 2 条有效数据成功导入
- 文件内重复 `亲属身份证号 + 统一社会信用代码` 组合
- 亲属身份证号不存在
- 统一社会信用代码格式错误
- 结果:成功 2 条,失败 3 条,成功记录可查询,失败记录弹窗展示对应原因
5. 已存在组合
- 行数1
- 前置:使用混合场景已成功导入的组合
- 预期:拦截已存在的 `亲属身份证号 + 统一社会信用代码` 组合
- 结果:成功 0 条,失败 1 条,失败记录展示 `组合已存在,请勿重复导入`
## 验证结论
- 导入模板下载正常。
- 基于当前页面模板生成的多份测试文件均可在真实页面上传。
- 空模板、基础字段校验、有效亲属校验、文件内重复、库内已存在组合、全成功、成功失败混合均已覆盖。
- 异步导入轮询、成功统计、失败统计、失败记录按钮和失败记录弹窗均符合预期。
- 成功导入记录能够在列表查询到。
- 本轮成功写入的 5 条测试数据已删除。
- 本轮临时新增的无效亲属前置数据已删除。
- 后端接口复核测试企业名前缀返回 `total = 0`
- 浏览器控制台无错误。
- 测试过程中无失败请求。
## 测试产物
- 下载模板:`output/playwright/staff-family-enterprise-allcases-template-2026-04-26T08-02-00-344Z.xlsx`
- 场景样本文件与截图位于 `output/playwright/`,文件名前缀为 `staff-family-enterprise-allcases-*2026-04-26T08-02-00-344Z`
- 临时 Playwright 脚本位于 `output/playwright/staff-family-enterprise-relation-import-all-cases-browser-test.js`,该目录为测试输出目录,不纳入 Git 提交范围。