Эх сурвалжийг харах

docs: PROJECT-OVERVIEW v1.9 - E2E Phase 1 docs + resolve merge conflicts

Sisyphus 1 сар өмнө
parent
commit
5913acc8be

+ 6 - 25
docs/superpowers/PROJECT-OVERVIEW.md

@@ -1,14 +1,8 @@
 # 浠艾福 项目全景 — 阶段性需求与设计汇总
 
-<<<<<<< HEAD
-**文档版本:** v1.4
-**日期:** 2026-07-24
-**状态:** 已确认(v1.4 Phase 5 全栈完成 + 文档审计)
-=======
-**文档版本:** v1.8
-**日期:** 2026-07-24
-**状态:** 已确认(v1.8 健康维度重构全完成 + 商品规格最小购买数限制已实施 + Phase 4 全项验证完毕)
->>>>>>> d35da0e7 (docs: PROJECT-OVERVIEW v1.8 - 健康维度重构全完成(Tier2 VOICE/PHOTO + canvas雷达图),商品规格最小购买数限制已实施)
+**文档版本:** v1.9
+**日期:** 2026-07-25
+**状态:** 已确认(v1.9 E2E 测试体系 Phase 1 重构完成)
 **维护:** 所有需求变更需更新本文档
 
 ---
@@ -96,17 +90,10 @@
 | 功能 | 阶段 | 状态 | 关联文档 |
 |------|:----:|:----:|---------|
 | 菌群报告页面重构(200+菌属全覆盖) | Phase 1 | ✅ 已完成(4页面 1214行 + HealthKnowledgeBase后端) | `specs/2026-07-17-flora-microbiome-report-page-design.md` + `plans/2026-07-17-flora-microbiome-report-implementation.md` |
-<<<<<<< HEAD
-| 身体健康7维子体系模型 | Phase 4 | 🟡 计划中 | `specs/2026-06-26-health-dimensions-design-spec.md` |
-| 成长档案重建 | Phase 4 | 🟡 计划中 | `specs/2026-06-22-growth-record-rebuild-design.md` |
-| 营养健康部分缺陷修复 | Phase 1 | 🟡 计划中 | `plans/2026-06-22-营养健康部分缺陷修复计划.md` |
-| 主动健康六阶模型改进(P0-P3) | Phase 5 | 🚧 设计稿 | `specs/2026-07-22-active-health-six-stage-design.md` (设计总纲) |
-=======
 | 身体健康7维子体系模型 | Phase 4 | ✅ 后端全实现(HealthDimensionController 七维指标 + DimensionScoreServiceImpl + Tier2 VOICE/PHOTO置信度降级 + canvas雷达图 + 菌群映射矩阵全部完成) | `specs/2026-06-26-health-dimensions-design-spec.md` |
 | 成长档案重建 | Phase 4 | ✅ 后端已实现(HealthGrowthRecord + HealthGrowthRecordController + HealthGrowthRecordService) | `specs/2026-06-22-growth-record-rebuild-design.md` |
 | 营养健康部分缺陷修复 | Phase 1 | ✅ 已实施(5项缺陷已修复) | `plans/2026-06-22-营养健康部分缺陷修复计划.md` |
 | 主动健康六阶模型改进(P0-P3) | Phase 5 | ✅ P0/P1-1/P1-2/P2-1/P2-2/P3 后端全完成(P2-2家庭互动+ P3社区扩散Controller/Service/Entity全量存在) | `specs/2026-07-22-active-health-six-stage-design.md` (设计总纲) |
->>>>>>> d35da0e7 (docs: PROJECT-OVERVIEW v1.8 - 健康维度重构全完成(Tier2 VOICE/PHOTO + canvas雷达图),商品规格最小购买数限制已实施)
 
 ---
 
@@ -308,11 +295,7 @@
 | `2026-06-20-dimension-knowledge-base-design.md` | ✅ 已实施(KnowledgeBaseController + DifySyncService) | 维度知识库平台 |
 | `2026-06-20-web-permission-system-design.md` | 🔄 已暂停(未实现,待重新规划) | Web权限系统 |
 | `2026-06-26-health-dimensions-design-spec.md` | 🟡 设计稿 | 身体健康7维模型 |
-<<<<<<< HEAD
-| `2026-06-22-growth-record-rebuild-design.md` | ✅ 已实施(GrowthRecordController 15.3K + growth/ 4页面) | 成长档案重建 |
-=======
 | `2026-06-22-growth-record-rebuild-design.md` | ✅ 后端已实现(HealthGrowthRecord + HealthGrowthRecordController + HealthGrowthRecordService) | 成长档案重建 |
->>>>>>> d35da0e7 (docs: PROJECT-OVERVIEW v1.8 - 健康维度重构全完成(Tier2 VOICE/PHOTO + canvas雷达图),商品规格最小购买数限制已实施)
 | `2026-07-16-first-login-auto-complete.md` | ✅ 已实施(login.vue + user-edit.vue均已完成) | 首次登录优化 |
 | `2026-07-14-member-detail-dimension-sections.md` | ✅ 已实施(member-detail.vue + 4维度section组件) | 成员详情维度区 |
 | `2026-07-02-login-left-panel-redesign.md` | ✅ 已确认 | 登录页重设计 |
@@ -332,6 +315,7 @@
 
 | 文件 | 状态 | 说明 |
 |------|:----:|------|
+| `2026-07-25-e2e-test-rearchitecture-phase1.md` | ✅ Phase 1 complete | E2E 测试体系 Phase 1 实施 |
 | `2026-07-22-comprehensive-implementation.md` | ✅ 当前 | 全面实施计划(Phase 2-4) |
 | `2026-07-20-langgraph-phase1.md` | ✅ 已部署(AiGateway+Docker+LLM 运行中) | LangGraph Phase 1 |
 | `2026-07-20-langgraph-phase2.md` | 🔄 合并至 comprehensive plan | LangGraph Phase 2 |
@@ -350,13 +334,8 @@
 | `2026-07-03-article-center-implementation.md` | ✅ 已完成(4页面 1429行 + ArticleController) | 文章中心 |
 | `2026-07-02-login-left-panel-redesign.md` | ✅ 已确认 | 登录页重设计 |
 | `2026-07-02-dimension-weight-picker-redesign.md` | ✅ 已实施 | 权重滑块重设计 |
-<<<<<<< HEAD
-| `2026-06-27-health-dimensions-incremental-plan.md` | 🟡 计划中(Phase 4) | 健康维度增量 |
-| `2026-06-26-health-dimensions-refactor.md` | 🟡 计划中(Phase 4) | 健康维度重构 |
-=======
 | `2026-06-27-health-dimensions-incremental-plan.md` | ✅ 后端已实现(HealthDimensionController七维指标+DimensionScoreService+HealthDimensionScore实体) | 健康维度增量 |
 | `2026-06-26-health-dimensions-refactor.md` | ✅ 后端全实现(Tier2 VOICE/PHOTO + DimensionScoreServiceImpl + canvas雷达图 + health_data_sources表) | 健康维度重构 |
->>>>>>> d35da0e7 (docs: PROJECT-OVERVIEW v1.8 - 健康维度重构全完成(Tier2 VOICE/PHOTO + canvas雷达图),商品规格最小购买数限制已实施)
 | `2026-06-22-family-relation-graph-redesign.md` | ✅ 已完成(FamilyRelationGraph.vue 797行,10+页面使用) | 关系图谱重构 |
 | `2026-06-22-营养健康部分缺陷修复计划.md` | 🟡 计划中(Phase 2) | 营养健康修复 |
 | `2026-06-20-dimension-knowledge-base-plan.md` | ✅ 已实施(KnowledgeBaseController + DifySyncService) | 知识库平台 |
@@ -388,6 +367,8 @@
 
 | 文件 | 状态 | 说明 |
 |------|:----:|------|
+| `2026-07-25-e2e-test-rearchitecture-design.md` | ✅ Phase 1 complete | E2E 测试体系重构设计 |
+| `2026-07-25-e2e-test-execution-summary.md` | ✅ Phase 1 complete | E2E 测试执行总览 |
 | `2026-07-24-cfc-web-responsive-design.md` | ✅ 已实施 | 管理后台手机自适应设计 |
 | `2026-07-22-active-health-six-stage-design.md` | 🟡 当前 | 主动健康六阶模型改进总设计 |
 

+ 108 - 0
docs/superpowers/specs/2026-07-25-e2e-test-execution-summary.md

@@ -0,0 +1,108 @@
+# E2E 测试体系重构 — Phase 1 执行总览
+
+**文档版本:** v1.0
+**日期:** 2026-07-25
+**状态:** ✅ 已提交 (commit `338b3384`)
+
+---
+
+## 概述
+
+对 CFC E2E 测试体系进行重构,建立基础设施层(DB 重置 + 统一认证 + 工具库),将测试文件按 4 个业务角色(parent/child/teacher/admin)重新组织,为后续 Phase 2 全量迁移奠定基础。
+
+---
+
+## 交付清单
+
+### 基础设施(5 文件)
+
+| 文件 | 行数 | 职责 |
+|------|:----:|------|
+| `tests/e2e/seed-data.sql` | 160 | 完整种子数据(8 角色 + 家庭 + 文章 + 活动 + 商品 + 系统配置) |
+| `tests/e2e/reset-db.sh` | 45 | 一键重置数据库脚本 |
+| `tests/e2e/helpers/auth.js` | 343 | 统一认证 helper(8 角色:admin 走 Web 端,其余走 API/UI 回退) |
+| `tests/e2e/helpers/db.js` | 64 | Playwright globalSetup 自动重置数据库 |
+| `tests/e2e/helpers/utils.js` | 125 | `assertApiSuccess`、`assertApiError`、`authHeaders` 工具函数 |
+
+### 测试数据工厂(1 文件)
+
+| 文件 | 行数 | 提供能力 |
+|------|:----:|----------|
+| `tests/e2e/helpers/fixtures.js` | 160 | `createTask`、`createWish`、`createAssessmentOrder`、`getTestData` |
+
+### 角色测试(11 文件,4 角色)
+
+| 角色 | 文件数 | 文件 |
+|:----:|:------:|------|
+| **parent** | 5 | `family-management.spec.js` (104行, 8场景)、`wish-management.spec.js` (67行, 3场景)、`assessment-order.spec.js` (76行, 3场景)、`energy-dashboard.spec.js` (67行, 2场景)、`points.spec.js` (76行, 2场景) |
+| **child** | 3 | `login.spec.js` (21行, 2场景)、`daily-checkin.spec.js` (36行, 2场景)、`mini-games.spec.js` (34行, 3场景) |
+| **teacher** | 2 | `login.spec.js` (105行, 2场景)、`family-binding.spec.js` (128行, 3场景) |
+| **admin** | 3 | `login.spec.js` (28行, 2场景)、`article/workflow.spec.js` (47行, 4场景)、`vendor/management.spec.js` (47行, 2场景) |
+
+### 配置文件更新
+
+| 文件 | 变更 |
+|------|------|
+| `tests/playwright.config.js` | globalSetup 指向 db.js;timeout 60s → 120s;retries 0 → 1;新增 mobile 项目(375×812);screenshot/trace 失败时保留 |
+
+---
+
+## 种子数据
+
+### 测试账号
+
+| 角色 | 手机号 | userId | 家庭 |
+|------|--------|:------:|:----:|
+| 管理员 | 13800138000 | 1001 | — |
+| 家长 | 13701366188 | 1002 | 2001(测试幸福家庭) |
+| 孩子1(小明) | 13701366189 | 1003 | 2001 |
+| 孩子2(小红) | 13701366190 | 1004 | 2001 |
+| 规划师 | 13800000001 | 1005 | → 绑定家庭2001 |
+| 营养师 | 13800000010 | 1006 | — |
+| 管家 | 13800000020 | 1007 | — |
+| 测评师 | 13800000030 | 1008 | — |
+| 供应商 | 13800138001 | 1009 | — |
+
+### 基础数据
+
+- 1 个完整家庭(2 孩子 + 家长)
+- 1 个规划师绑定关系
+- 2 篇测试文章(草稿 + 已发布)
+- 2 个测试活动(待审核 + 已发布)
+- 2 个测试商品
+- 系统配置(五维维度定义)
+
+---
+
+## 代码统计
+
+| 类别 | 文件数 | 总行数 |
+|------|:------:|:------:|
+| 新建文件 | 21 | 3,531 |
+| 修改文件 | 1 | +16 / -2 |
+| **总计** | **22** | **3,533** |
+
+---
+
+## Phase 1 覆盖检查清单
+
+| 检查项 | 状态 |
+|--------|:----:|
+| `reset-db.sh` + `seed-data.sql` 可运行 | ✅ |
+| `helpers/auth.js` 8 角色均可登录 | ✅ |
+| `helpers/utils.js` API 断言工具可用 | ✅ |
+| `helpers/db.js` globalSetup 自动运行 | ✅ |
+| `playwright.config.js` 更新完成 | ✅ |
+| `roles/parent/` 5 个核心文件 | ✅ |
+| `roles/child/` 3 个文件 | ✅ |
+| `roles/teacher/` 2 个文件 | ✅ |
+| `roles/admin/` 3 个文件 | ✅ |
+| 代码已提交至远程 `origin/cfclub` | ✅ |
+
+---
+
+## 已知限制
+
+1. 旧 spec 文件(`tests/e2e/*.spec.js` 顶层 40 文件)**未删除**,保留向后兼容,后续 Phase 2 逐角色迁移后清理
+2. 种子数据 account `code` 字段未严格对应生产环境验证码策略(测试模式使用固定 `123456`)
+3. `fixtures.js` 依赖真实 API 端点,部分端点可能在生产环境与测试环境间存在差异