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

📝 docs(stories): add story for test cleanup and optimization

- 创建"清理和优化"故事文档,记录测试文件迁移后的清理工作
- 定义清理web目录已迁移测试文件的验收标准和任务
- 包含CI/CD配置更新和测试架构文档更新的具体任务
- 添加技术栈和项目结构信息作为开发参考
- 列出需要清理的具体测试文件路径和CI/CD配置需求
yourname 4 долоо хоног өмнө
parent
commit
28bfdadf37

+ 120 - 0
docs/stories/005.005.story.md

@@ -0,0 +1,120 @@
+# Story 005.005: 清理和优化
+
+## Status
+Draft
+
+## Story
+**As a** 开发人员,
+**I want** 清理web目录中已迁移的测试文件并优化测试架构,
+**so that** 项目保持整洁的代码结构,CI/CD流水线支持新的测试架构,文档反映最新的测试组织方式
+
+## Acceptance Criteria
+1. 清理web目录中已迁移的测试文件
+2. 更新CI/CD配置支持新的测试结构
+3. 更新文档说明新的测试架构
+4. 验证整体测试覆盖率
+
+## Tasks / Subtasks
+- [ ] 清理web目录中已迁移的测试文件 (AC: 1)
+  - [ ] 删除web/tests/integration/server/目录下已迁移的集成测试文件
+  - [ ] 删除web/tests/unit/server/目录下已迁移的单元测试文件
+  - [ ] 验证web目录中不再有packages/server相关的测试文件
+- [ ] 更新CI/CD配置支持新的测试结构 (AC: 2)
+  - [ ] 检查GitHub Actions工作流配置
+  - [ ] 更新测试脚本以支持packages/server的独立测试
+  - [ ] 验证CI/CD流水线能够正确运行packages/server的测试
+- [ ] 更新文档说明新的测试架构 (AC: 3)
+  - [ ] 更新测试策略文档反映新的测试结构
+  - [ ] 更新项目结构文档说明测试文件组织
+  - [ ] 添加迁移完成说明到相关文档
+- [ ] 验证整体测试覆盖率 (AC: 4)
+  - [ ] 运行packages/server的测试覆盖率检查
+  - [ ] 运行web目录的测试覆盖率检查
+  - [ ] 验证整体测试覆盖率满足项目要求
+
+## Dev Notes
+
+### 技术栈信息 [Source: architecture/tech-stack.md]
+- **测试框架**: Vitest 3.2.4
+- **运行时**: Node.js 20.18.3
+- **模块系统**: ES 模块
+- **数据库**: PostgreSQL 17 + TypeORM
+- **API框架**: Hono 4.8.5
+- **测试工具**: hono/testing (内置)
+
+### 项目结构信息 [Source: architecture/source-tree.md]
+- **当前web测试位置**: web/tests/
+  - integration/server/ - 已迁移到packages/server的集成测试
+  - unit/server/ - 已迁移到packages/server的单元测试
+- **目标packages/server测试位置**: packages/server/tests/
+  - integration/ - 集成测试
+  - unit/ - 单元测试
+- **CI/CD配置位置**: .github/workflows/
+  - integration-tests.yml
+  - component-tests.yml
+  - e2e-tests.yml
+
+### 测试策略信息 [Source: architecture/testing-strategy.md]
+- **单元测试位置**: tests/unit/**/*.test.{ts,tsx}
+- **集成测试位置**: tests/integration/**/*.test.{ts,tsx}
+- **E2E测试位置**: tests/e2e/**/*.test.{ts,tsx}
+- **测试框架**: Vitest + Testing Library + hono/testing + Playwright
+- **覆盖率目标**: 单元测试 ≥ 80%,集成测试 ≥ 60%
+- **测试执行频率**: 每次代码变更
+
+### 先前故事洞察 [Source: docs/stories/005.003.story.md, docs/stories/005.004.story.md]
+- 工具类单元测试已成功迁移到packages/server/tests/unit/utils/
+- 集成测试已成功迁移到packages/server/tests/integration/
+- 所有迁移的测试在packages/server环境中正常运行
+- 测试覆盖率保持稳定,packages/server当前覆盖率为72.89%
+- 需要清理web目录中重复的测试文件以保持代码整洁
+
+### 需要清理的web测试文件
+- **web/tests/integration/server/**
+  - auth.integration.test.ts (已迁移)
+  - backup.integration.test.ts (已迁移)
+  - files/files.integration.test.ts (已迁移)
+  - files/minio.integration.test.ts (已迁移)
+  - users.integration.test.ts (已迁移)
+- **web/tests/unit/server/**
+  - modules/files/file.service.test.ts (已迁移)
+  - modules/files/minio.service.test.ts (已迁移)
+  - modules/user.service.test.ts (已迁移)
+  - utils/backup.test.ts (已迁移)
+  - utils/restore.test.ts (已迁移)
+
+### CI/CD配置更新需求
+- **GitHub Actions工作流**: 需要更新以支持packages/server的独立测试执行
+- **测试脚本**: web/package.json中的测试脚本可能需要调整
+- **覆盖率报告**: 需要确保packages/server的覆盖率被正确收集和报告
+
+### Testing
+- **测试文件位置**:
+  - packages/server/tests/unit/ 和 packages/server/tests/integration/
+  - web/tests/unit/ 和 web/tests/integration/ (仅保留web特定测试)
+- **测试框架**: Vitest + Testing Library + hono/testing
+- **覆盖率要求**:
+  - packages/server: 单元测试 ≥ 80%,集成测试 ≥ 60%
+  - web: 组件测试 ≥ 70%,集成测试 ≥ 50%
+- **测试标准**:
+  - 删除重复的测试文件
+  - 确保所有测试在正确的位置运行
+  - 验证CI/CD流水线支持新的测试结构
+  - 保持测试覆盖率稳定
+
+## Change Log
+| Date | Version | Description | Author |
+|------|---------|-------------|--------|
+| 2025-11-09 | 1.0 | 初始故事创建 | Bob (Scrum Master) |
+
+## Dev Agent Record
+
+### Agent Model Used
+
+### Debug Log References
+
+### Completion Notes List
+
+### File List
+
+## QA Results