docs: 全面更新 wiki 文档至当前实现状态
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled

9 个 wiki 页面全部更新:
- index: 关键数字更新(15 crate/48 表/50 迁移/6 模块)
- erp-health: 从"规划中"更新为"已实现"(18 实体/14 权限)
- erp-server: 6 模块注册/8 环境变量/5 后台任务
- database: 50 迁移/48 表/健康模块迁移(m000042-m000050)
- frontend: 10 健康路由/12 共享组件/7 健康 API/3 单元测试
- miniprogram: 20 页面/10 服务/9 组件
- testing: 93 后端测试+3 前端测试/全链路验证结果
- erp-core: 新增 erp-health 集成契约
- architecture: 6 模块实现状态表/预约 CAS/PII 加密
This commit is contained in:
iven
2026-04-25 11:57:20 +08:00
parent 355e8da272
commit 40b5141832
9 changed files with 501 additions and 70 deletions

View File

@@ -1,13 +1,13 @@
---
title: 测试与验证
updated: 2026-04-23
updated: 2026-04-25
status: stable
tags: [testing, verification]
---
# 测试与验证
> 从 [[index]] 导航。关联: [[infrastructure]] [[database]] [[frontend]] [[erp-server]]
> 从 [[index]] 导航。关联: [[infrastructure]] [[database]] [[frontend]] [[erp-server]] [[erp-health]]
## 1. 设计决策
@@ -25,7 +25,10 @@ tags: [testing, verification]
| erp-core | 6 | RBAC 权限检查 |
| erp-workflow | 16 | BPMN 解析、表达式求值 |
| erp-plugin-prototype | 6 | WASM 插件集成 |
| **总计** | **36** | |
| erp-health (validation) | 57 | 输入验证纯函数测试 |
| **后端总计** | **93** | |
| 前端 (vitest) | 3 | 健康常量、useThemeMode hook、StatusTag 组件 |
| E2E (playwright) | 4 spec | 登录、用户管理、插件、租户隔离 |
### 编译 + 测试
@@ -35,6 +38,8 @@ cargo test --workspace # 全量测试
cargo clippy -- -D warnings # Lint 无警告
cargo fmt --check # 格式检查
cd apps/web && pnpm build # 前端生产构建
cd apps/web && pnpm test # 前端单元测试 (vitest)
cd apps/web && pnpm test:e2e # E2E 测试 (playwright)
```
### 功能验证端点
@@ -70,6 +75,27 @@ cd apps/miniprogram && pnpm build:weapp # 构建
## 3. 代码逻辑
### 健康模块全链路验证结果2026-04-25
| 链路 | API | 前端 UI | 状态 |
|------|-----|---------|------|
| 医生 CRUD | 创建/搜索/编辑 | 医护管理页面 | ✅ |
| 排班管理 | 创建/列表/日历 | 排班管理页面 | ✅ |
| 预约管理 | 创建+状态流转 | 预约列表/新建弹窗 | ✅ |
| 随访管理 | 创建→进行→完成 | 随访列表/操作 | ✅ |
| 咨询管理 | 创建会话+消息 | 咨询列表/导出 | ✅ |
| 患者详情 | 详情/编辑/标签 | 详情页+健康数据标签 | ✅ |
### erp-health validation.rs 测试覆盖
57 个纯函数测试覆盖:
- 患者信息验证(姓名、身份证、手机号、性别、血型)
- 预约验证(日期、时段、类型)
- 随访任务验证(计划日期、类型)
- 咨询会话验证
- 体征数据验证(血压范围、心率、体重、血糖)
- 文章验证
### 集成契约
| 方向 | 模块 | 触发时机 |
@@ -77,6 +103,7 @@ cd apps/miniprogram && pnpm build:weapp # 构建
| 依赖 ← | [[infrastructure]] | 环境准备、连接信息 |
| 验证 → | [[erp-server]] | 健康检查、API 测试 |
| 验证 → | [[frontend]] | 生产构建 |
| 验证 → | [[erp-health]] | 健康模块全链路验证 |
**不变量**: 功能验证需要后端服务运行中,编译检查必须先于测试通过
@@ -88,12 +115,22 @@ D:\postgreSQL\bin\psql.exe -U postgres -h localhost -d erp
```
```sql
SELECT version FROM seaql_migrations ORDER BY version; -- 迁移记录
SELECT code, name FROM permissions WHERE deleted_at IS NULL ORDER BY code; -- 插件权限
SELECT version FROM seaql_migrations ORDER BY version; -- 迁移记录(应为 50 条)
SELECT code, name FROM permissions WHERE deleted_at IS NULL ORDER BY code; -- 权限列表
SELECT count(*) FROM patient WHERE deleted_at IS NULL; -- 患者数量
```
## 4. 活跃问题 + 陷阱
### 测试覆盖空白
| 领域 | 当前状态 | 优先级 |
|------|---------|--------|
| erp-health service 层集成测试 | 无 | P0 |
| erp-health handler 层测试 | 无 | P1 |
| 前端健康模块组件测试 | 仅 StatusTag | P1 |
| E2E 健康模块测试 | 无 | P1 |
### 活跃问题
| 问题 | 级别 | 状态 |
@@ -106,6 +143,7 @@ SELECT code, name FROM permissions WHERE deleted_at IS NULL ORDER BY code; --
- CRM 权限码与实体名不一致 → 403详见 [[wasm-plugin]] 权限命名铁律)
- `AppError::Internal` 无日志 → 500 静默(已加 `tracing::error`
- `build_scope_sql` 参数索引硬编码 → SQL 参数错位(已动态化)
- 已应用迁移文件被删除 → 启动失败(创建 stub 迁移修复)
⚠️ 首次 `cargo run` 需编译整个 workspace含 wasmtime后续增量快
⚠️ Redis 不可达时限流自动降级为 fail-open
@@ -114,6 +152,7 @@ SELECT code, name FROM permissions WHERE deleted_at IS NULL ORDER BY code; --
| 日期 | 变更 |
|------|------|
| 2026-04-25 | 全面更新93 后端测试 + 3 前端测试、健康模块全链路验证结果、测试覆盖空白清单 |
| 2026-04-24 | 添加微信小程序验证步骤 |
| 2026-04-23 | 重构为 5 节结构,去除与 infrastructure.md 重复 |
| 2026-04-18 | Lighthouse 审计 + 性能优化 |