safety-eval-service-frontend/docs/test-reports/测试文档.md

212 lines
7.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 企业信息管理 — 测试报告(最新)
> 覆盖模块:机构信息、部门岗位、人员信息、人员变更、离职申请、资质证书、装备信息
> 原型对照:`docs/原型/设计文件 (3).pdf` ~ `设计文件 (9).pdf`
> 更新日期2026-06-23
---
## 1. 测试环境
| 项 | 说明 |
|---|---|
| 前端 | `safety-eval-service-frontend``npm run dev` / `pnpm dev` |
| 后端 | `safety-eval-service``http://127.0.0.1:8095/safety-eval`profile=`local` |
| 数据库 | 执行 `safety-eval-service/docs/init-v2.sql` 及末尾测试数据段 |
| Node | `source scripts/setup-test-env.sh` 或 JetBrains Node 24.x |
---
## 2. 自动化脚本
### 2.1 接口联调(细粒度)
```bash
cd safety-eval-service-frontend
source scripts/setup-test-env.sh # 可选
node scripts/test-enterprise-info-granular.mjs
```
- 脚本:`scripts/test-enterprise-info-granular.mjs`
- 覆盖8 模块 CRUD、分页、搜索、字段组装`deptName`/`postName`/`account`/`auditStatusCode`
- 环境变量:`API_BASE`(默认 `http://127.0.0.1:8095/safety-eval`
### 2.2 前端 UI 静态检查
```bash
node scripts/test-enterprise-info-ui-check.mjs
```
- 脚本:`scripts/test-enterprise-info-ui-check.mjs`
- 检查:公共工具、列表列、弹窗布局、变更次数样式、默认上传配置
### 2.3 一键执行
```bash
node scripts/test-enterprise-info-granular.mjs && node scripts/test-enterprise-info-ui-check.mjs
```
---
## 3. 问题修复对照(用户反馈 8 项)
| # | 问题 | 处理方式 | 验证用例 |
|---|------|----------|----------|
| 1 | 列表未展示部门/岗位 | 后端 `OrgPersonnelViewEnricher` 组装 `deptName`/`postName`;前端 adapter 映射 | EI-API-STAFF-05~08UI-STAFF-03 |
| 2 | 新增/编辑文字遮挡 | 弹窗改 `layout="vertical"``labelCol/wrapperCol=24` | UI-PAGE-*-03手工打开各模块弹窗 |
| 3 | 离职缺审核状态/用户名 | CO 增 `account`enricher 组装;列表 Tag 展示 | EI-API-RESIGN-04~05UI-RESIGN-01~02 |
| 4 | 页面卡顿/报错 | 去掉失败的上传/删文件调用;修复 SELECT 空选项 | 控制台无红错;列表加载 <3s |
| 5 | 变更次数配色 | `CHANGE_COUNT_STYLE` 蓝色高亮/灰色零值 | UI-CHANGE-01;人员变更列表目视 |
| 6 | 新增人员部门/岗位不可选 | 人员表单改用 antd `Select``formSelectField` 适配 Search | UI-STAFF-01~02TC-STAFF-03 |
| 7 | 上传默认通过 | `src/utils/mockUpload.js` 固定 URL | UI-COMMON-03TC-UPLOAD-* |
| 8 | 其他页面问题 | 见第 4 节用例矩阵 | 全量手工 + 自动化 |
---
## 4. 测试用例矩阵
### 4.1 机构信息(原型:设计文件 3
| ID | 类型 | 步骤 | 预期 |
|----|------|------|------|
| TC-ORG-01 | UI | 进入机构信息页 | 标题/副标题与原型一致;表单只读 |
| TC-ORG-02 | 功能 | 点击修改 暂存 | 成功提示;`authStatusCode=0` |
| TC-ORG-03 | 功能 | 点击提交 | 成功提示;字段回显正确 |
| TC-ORG-04 | API | EI-API-ORG-* | 分页/详情/修改通过 |
### 4.2 部门岗位(原型:设计文件 4
| ID | 类型 | 步骤 | 预期 |
|----|------|------|------|
| TC-DEPT-01 | UI | 左侧树 + 右侧列表 | 布局与原型一致 |
| TC-DEPT-02 | 功能 | 新增/编辑部门 | 弹窗 vertical,文字不遮挡 |
| TC-DEPT-03 | 功能 | 进入岗位列表,增删改岗位 | 岗位关联当前部门 |
| TC-DEPT-04 | API | EI-API-DEPT/POS-* | 通过 |
### 4.3 人员信息(原型:设计文件 5
| ID | 类型 | 步骤 | 预期 |
|----|------|------|------|
| TC-STAFF-01 | UI | 列表列 | 用户名称、账号、**部门**、**岗位**、证照 |
| TC-STAFF-02 | 功能 | 搜索部门/岗位 | 下拉有选项,筛选生效 |
| TC-STAFF-03 | 功能 | 新增人员,选部门后选岗位 | 岗位按部门过滤,可提交 |
| TC-STAFF-04 | 功能 | 编辑/查看/重置密码/删除 | 各操作正常 |
| TC-STAFF-05 | 功能 | 证书子页 | 上传默认 URL,增删改查 |
| TC-STAFF-06 | API | EI-API-STAFF/CERT-* | 通过;列表含 deptName/postName |
### 4.4 人员变更(原型:设计文件 6
| ID | 类型 | 步骤 | 预期 |
|----|------|------|------|
| TC-CHANGE-01 | UI | 信息变更数 >0 | 蓝色链接样式,可点进日志 |
| TC-CHANGE-02 | UI | 变更数 =0 | 灰色显示 |
| TC-CHANGE-03 | 功能 | 离职审核通过/退回 | 状态 Tag 更新 |
| TC-CHANGE-04 | API | EI-API-CHANGE-* | 分页通过 |
### 4.5 离职申请(原型:设计文件 7
| ID | 类型 | 步骤 | 预期 |
|----|------|------|------|
| TC-RESIGN-01 | UI | 列表 | 用户名、姓名、部门、**审核状态 Tag** |
| TC-RESIGN-02 | 功能 | 新增离职申请 | 弹窗 vertical上传默认通过 |
| TC-RESIGN-03 | 功能 | 按审核状态筛选 | 结果正确 |
| TC-RESIGN-04 | API | EI-API-RESIGN-* | account/auditStatusCode 有值 |
### 4.6 资质证书(原型:设计文件 8
| ID | 类型 | 步骤 | 预期 |
|----|------|------|------|
| TC-QUAL-01 | UI | 列表/弹窗 | 标签不遮挡;保密提示可见 |
| TC-QUAL-02 | 功能 | 新增证书 + 上传 | 默认图片 URL 写入 `certImageUrl` |
| TC-QUAL-03 | API | EI-API-QUAL-* | 通过 |
### 4.7 装备信息(原型:设计文件 9
| ID | 类型 | 步骤 | 预期 |
|----|------|------|------|
| TC-EQUIP-01 | UI | 列表/弹窗 | 双列表单,标签完整 |
| TC-EQUIP-02 | 功能 | 是否双路下拉 | 可选是/否 |
| TC-EQUIP-03 | API | EI-API-EQUIP-* | 通过 |
### 4.8 上传(全局)
| ID | 类型 | 步骤 | 预期 |
|----|------|------|------|
| TC-UPLOAD-01 | 功能 | 离职报告上传 | `reportFileUrl` = 默认 URL |
| TC-UPLOAD-02 | 功能 | 机构/人员证书上传 | `certImageUrl` / `certAttachmentUrl` = 默认 URL |
---
## 5. 原型 UI 对照检查清单
手工打开各页,对照 PDF 检查:
- [ ] 页面标题、副标题文案
- [ ] 搜索区字段与原型一致
- [ ] 表格列顺序、列名
- [ ] 主按钮文案(新增/添加)
- [ ] 弹窗宽度、表单项顺序
- [ ] 信息变更数颜色(蓝/灰)
- [ ] 审核状态 Tag 颜色(灰/绿/红)
- [ ] 无控制台 Error / 无长时间 Loading
---
## 6. 执行记录2026-06-23 第二轮)
```
接口测试: 58 / 58 通过
UI 静态检查: 31 / 31 通过
本轮修复:
- 资质 remark 全链路 + 启用/禁用按钮
- 人员变更:账户列、变更数颜色(String key)、就职状态/审核状态 Tag、后端 employmentStatusCode 查询
- 人员移除重置密码、birthDate dayjs 回显/提交格式化
- 部门岗位:左树右岗布局,按 deptId 查岗位
- 离职账户列、remark 分离、personnelId 自动匹配、时间格式化
- 装备instrumentType 列表字段、表单回显
- 时间formatDateTime → YYYY-MM-DD HH:mm:ss
```
## 7. 执行记录2026-06-23 第一轮)
```
执行人:自动化脚本
执行时间2026-06-23后端重启后
后端http://127.0.0.1:8095/safety-eval
接口测试: 58 / 58 通过
UI 静态检查: 31 / 31 通过
字段组装验证(已通过):
- EI-API-STAFF-05~08deptName / postName 正常
- EI-API-RESIGN-04~05auditStatusCode / account 正常
重跑命令:
source scripts/setup-test-env.sh
node scripts/test-enterprise-info-granular.mjs
node scripts/test-enterprise-info-ui-check.mjs
```
### 6.1 手工记录模板
---
## 7. 已知限制
1. **上传**:联调阶段不走真实文件服务,统一写入固定花瓣 URL。
2. **原型像素级**PDF 与 Ant Design 组件存在间距差异,以字段/交互一致为准。
3. **人员变更删除**:列表删除为变更记录删除,与人员主数据删除不同,需与产品确认。
---
## 8. 相关代码路径
| 用途 | 路径 |
|------|------|
| 页面 | `src/pages/Container/EnterpriseInfo/**` |
| API 适配 | `src/api/enterpriseInfo/adapter.js` |
| 表单工具 | `src/utils/enterpriseForm.js` |
| 上传 Mock | `src/utils/mockUpload.js` |
| 后端组装 | `safety-eval-app/.../OrgPersonnelViewEnricher.java` |