test(wave158): edit_plan剪辑计划单测 +32 #1088

Merged
xiaoxia merged 8 commits from test/wave158-edit-plan into develop 2026-07-28 16:20:20 +08:00
Owner

概述

为 domain/edit_plan.py 新增 32 个单测,纯逻辑 0 外部依赖。

覆盖范围

  • EditPlanStatus 枚举:6个(5种状态)
  • create 工厂:11个 - 必填校验/strip/空值/默认值
  • 状态流转:14个
    • 正向:draft→editing→rendering→completed/failed
    • 重置:failed→draft 重试
    • 非法跳转:7个反向校验
    • 完整路径+失败重试路径
  • config 独立性:1个

验证

  • ruff: All checks passed
  • pytest: 32 passed
## 概述 为 domain/edit_plan.py 新增 32 个单测,纯逻辑 0 外部依赖。 ## 覆盖范围 - **EditPlanStatus 枚举**:6个(5种状态) - **create 工厂**:11个 - 必填校验/strip/空值/默认值 - **状态流转**:14个 - 正向:draft→editing→rendering→completed/failed - 重置:failed→draft 重试 - 非法跳转:7个反向校验 - 完整路径+失败重试路径 - **config 独立性**:1个 ## 验证 - ruff: All checks passed - pytest: 32 passed
Collaborator

【阻塞级判定】

  • 是否存在阻塞级问题:否
  • 阻塞级问题数量:0 个

📊 审查概览

  • 整体评价:通过
  • 建议级问题数量:0 个

🔴 阻塞级问题(必须修复)

💡 改进建议(不阻塞合并)

良好实践

  1. 关注可变默认参数陷阱:在 test_domain_small_modules.py 中,通过 test_default_items_empty_listtest_tags_independent 等用例,专门验证了类实例化后列表/字典属性的独立性,有效防止了 Python 中可变默认参数导致的共享引用 Bug。
  2. 边界条件测试充分:测试代码不仅覆盖了正常流程,还详细覆盖了空字符串、纯空白字符串等边界情况(如 test_create_whitespace_project_id),确保了输入清洗逻辑的健壮性。
  3. 测试结构清晰:使用了清晰的类和测试方法命名,测试意图一目了然,符合单元测试的最佳实践。

格式检查通过 | 逻辑审查通过 | 性能良好


🤖 由 AI 代码审查机器人自动生成 | 2026-07-28 07:29:27 | 模型:

### 【阻塞级判定】 - 是否存在阻塞级问题:否 - 阻塞级问题数量:0 个 ### 📊 审查概览 - 整体评价:通过 - 建议级问题数量:0 个 ### 🔴 阻塞级问题(必须修复) 无 ### 💡 改进建议(不阻塞合并) 无 ### ✅ 良好实践 1. **关注可变默认参数陷阱**:在 `test_domain_small_modules.py` 中,通过 `test_default_items_empty_list`、`test_tags_independent` 等用例,专门验证了类实例化后列表/字典属性的独立性,有效防止了 Python 中可变默认参数导致的共享引用 Bug。 2. **边界条件测试充分**:测试代码不仅覆盖了正常流程,还详细覆盖了空字符串、纯空白字符串等边界情况(如 `test_create_whitespace_project_id`),确保了输入清洗逻辑的健壮性。 3. **测试结构清晰**:使用了清晰的类和测试方法命名,测试意图一目了然,符合单元测试的最佳实践。 --- ✅ 格式检查通过 | ✅ 逻辑审查通过 | ✅ 性能良好 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-28 07:29:27 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia changed target branch from main to develop 2026-07-28 16:09:23 +08:00
xiaoxia added 2 commits 2026-07-28 16:12:19 +08:00
为 domain/quota.py 新增 80 个单测,纯逻辑 0 外部依赖:

- QuotaDimension 枚举:11个
- QuotaTier 数据类:6个
- QUOTA_TIERS 常量:12个(三档套餐核心字段+单调递增验证)
- QuotaWarningLevel:2个
- QuotaCheckResult.usage_percent:7个(正常/0/100%/超量/不限量/零限制)
- get_warning_level 告警级别:13个(0%/80%/95%/100%/超量/零限制/不限量/负数)
- QuotaRegistry 注册/查询:14个
- QuotaChecker 配额检查:13个
- 全局单例:3个
test(wave152): duplication查重记录单测 +40
PR Automation / Auto Approve on CI Green (pull_request) Waiting to run
PR Automation / Auto Merge on CI Green + Approved (pull_request) Waiting to run
CI/CD Pipeline / Check if frontend-only change (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
041cedf958
为 domain/duplication.py 新增 40 个单测,纯逻辑 0 外部依赖:

- DuplicateSegment.create 工厂/校验:10个
- DuplicationRecord.create 工厂/校验:11个
- 状态流转 (pending/processing/completed/failed):13个
- can_retry + reset_for_retry:4个
- segments 列表:3个
xiaoxia force-pushed test/wave158-edit-plan from a1d17ebc3a to 041cedf958 2026-07-28 16:12:19 +08:00 Compare
xiaoxia added 6 commits 2026-07-28 16:13:59 +08:00
为 domain/edit_plan_clip.py 新增 44 个单测,纯逻辑 0 外部依赖:

- EditPlanClipStatus 枚举:7个
- create 工厂/校验:17个
- assign_asset 素材分配:5个
- 状态流转(pending→ready→rendered/failed):8个
- end_time/has_asset 属性:7个
为 domain/classification.py 新增 34 个单测:

- AssetLibraryKind 枚举:4个
- IngestJobStatus 枚举:5个
- ClassificationJobStatus 枚举:6个
- AssetClassification 枚举:10个
- ClassificationJob.create:9个
为 domain/generated_video.py 新增 16 个单测:

- create 必填字段 + 默认值
- strip 行为
- 4个空值校验(project_id/task_id/name/file_url)
- 唯一ID + 时间戳
- 零值合法(宽高/fps)
- generation_params 独立性
为 domain/generation_task.py 新增 24 个单测:

- GenerationTaskStatus 枚举:6个
- create 工厂:18个(最简/全字段/二选一校验/列表拷贝/默认值)
为 domain 层 7 个小模块新增 44 个单测,纯逻辑 0 外部依赖:

- EditingMode 枚举:6个
- Tag 工厂:4个
- RecipeItem/Recipe:6个
- VoiceLibraryItem:3个
- TitleLibraryItem:3个
- TemplateSegment/Template/TemplateCategory:6个
- EditTemplateStatus/EditTemplate:16个
test(wave158): edit_plan剪辑计划单测 +32
CI/CD Pipeline / Check if frontend-only change (pull_request) Waiting to run
CI/CD Pipeline / Validate - Code Quality (pull_request) Waiting to run
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Waiting to run
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Waiting to run
CI/CD Pipeline / Unit Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / Integration Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / Frontend Lint (pull_request) Waiting to run
CI/CD Pipeline / Frontend Unit Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / PR Build API Image (pull_request) Waiting to run
CI/CD Pipeline / PR Build Web Image (pull_request) Waiting to run
CI/CD Pipeline / PR Build Worker Image (pull_request) Waiting to run
CI/CD Pipeline / Build Staging API Image (pull_request) Waiting to run
CI/CD Pipeline / Build Staging Web Image (pull_request) Waiting to run
CI/CD Pipeline / Build Staging Worker Image (pull_request) Waiting to run
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Blocked by required conditions
CI/CD Pipeline / Staging E2E Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / Staging API Integration Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / Build Production API Image (pull_request) Blocked by required conditions
CI/CD Pipeline / Build Production Web Image (pull_request) Blocked by required conditions
CI/CD Pipeline / Build Production Worker Image (pull_request) Blocked by required conditions
CI/CD Pipeline / Deploy Production (pull_request) Blocked by required conditions
CI/CD Pipeline / Production Browser E2E (pull_request) Blocked by required conditions
CI/CD Pipeline / ACR Image Cleanup (pull_request) Blocked by required conditions
CI/CD Pipeline / Canary Release to Production (pull_request) Blocked by required conditions
PR Automation / Auto Approve on CI Green (pull_request) Waiting to run
PR Automation / Auto Merge on CI Green + Approved (pull_request) Waiting to run
Preview Deploy / Deploy Preview Environment (pull_request) Waiting to run
CI/CD Pipeline / CI Gate (pull_request) 手动设置
AI Code Review / AI Code Review (pull_request) 手动设置
Preview Cleanup / Cleanup Preview Environment (pull_request) Waiting to run
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
72368c3ff8
为 domain/edit_plan.py 新增 32 个单测:

- EditPlanStatus 枚举:6个
- create 工厂/校验:11个(必填/strip/空值/默认值)
- 状态流转(draft→editing→rendering→completed/failed):14个
- config 独立性:1个
xiaoxia merged commit 28173f1713 into develop 2026-07-28 16:20:20 +08:00
Sign in to join this conversation.