3.1 KiB
3.1 KiB
Release Checklist(立项配置)
1. 构建与迁移
cd backend && docker compose run --rm backend python -m alembic upgrade headcd backend && python3 -m compileall app scriptscd frontend && npm run build
2. 接口与权限回归
- ADMIN 账号可
GET/PUT/PUBLISH/IMPORT-EXCEL/EXPORT-EXCEL - PM 账号可
GET/PUT/PUBLISH/IMPORT-EXCEL/EXPORT-EXCEL - CRA 账号可
GET/EXPORT-EXCEL,PUT/PUBLISH/IMPORT-EXCEL返回403 - 非项目成员访问返回
403
3. 并发冲突回归
- 双开两个窗口同项目配置
- A 保存后,B 再保存触发
409 - 前端显示冲突对比弹窗(可读 diff + JSON)
- 选择“使用服务器版本”后版本同步
- 选择“用本地草稿覆盖”后保存成功且版本递增
409响应结构包含detail.code=SETUP_CONFIG_VERSION_CONFLICT
3.1 业务校验回归(422)
enrollmentPlan.startDate > endDate返回422- 非本项目
siteId返回422 centerConfirm状态为“已确认”但无confirmDate返回422422响应包含detail.errors[].field与detail.errors[].message
4. 发布快照回归
- 草稿保存后
publish_status=DRAFT - 发布后
publish_status=PUBLISHED - 发布后可切换“已发布快照”并只读
- 再修改草稿后状态回到
DRAFT
5. 导入导出回归
- 导出 Excel 文件可打开且结构完整
- 导入有效 Excel 成功,页面数据刷新
- 导入非法 Excel 给出错误提示
- 导入冲突时触发
409提示并刷新版本
6. 锁定与审计回归
- 项目锁定后
PUT/PUBLISH/IMPORT-EXCEL返回403 - 页面进入只读态,编辑按钮不可用
- 审计日志可按对象类型筛选
立项配置 - 审计事件包含:
CREATE_SETUP_CONFIGUPDATE_SETUP_CONFIGPUBLISH_SETUP_CONFIGIMPORT_SETUP_CONFIG_EXCEL
7. 监控埋点回归
- 访问
GET /health/setup-config-stats可返回 JSON by_endpoint中可看到setup-config各接口2xx/4xx/5xx计数- 人为制造一次冲突或锁定写入后,
4xx计数增加
8. 冒烟脚本
cd backend && docker compose exec -T backend python scripts/smoke_setup_config.py- 使用
BASE_URL/EMAIL/PASSWORD/STUDY_ID环境变量执行一次(覆盖指定项目) BASE_URL=http://localhost EMAIL=... PASSWORD=... STUDY_ID=... bash docs/setup-config-curl-smoke.sh- 导入并执行 Postman 集合
docs/postman/setup-config.postman_collection.json
9. 发布前确认
- 文档已更新:
docs/setup-config-api.md - 本清单已全量勾选
- 发布说明已包含新增接口与权限规则
10. Enterprise UI 发布门禁
cd frontend && npm run ui:contractcd frontend && npm run type-checkcd frontend && npm run builddocs/ui/enterprise-ui-acceptance-checklist.md状态为PASS且记录审阅日期- 管理层演示路径已走查:
/project/overview -> /project/milestones -> /risk-issues/sae -> /fees/contracts -> /file-versions -> /admin/projects/:id