# 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