test(wave157): domain层7个小模块批量单测 +44 #1086

Merged
xiaoxia merged 7 commits from test/wave157-domain-small-modules into develop 2026-07-28 16:18:58 +08:00
Owner

概述

为 domain 层 7 个小模块新增 44 个单测,纯逻辑 0 外部依赖。

覆盖模块

  1. EditingMode(枚举)- 6个
  2. Tag(工厂)- 4个
  3. RecipeItem / Recipe - 6个
  4. VoiceLibraryItem - 3个
  5. TitleLibraryItem - 3个
  6. TemplateSegment / Template / TemplateCategory - 6个
  7. EditTemplateStatus / EditTemplate(工厂+状态流转)- 16个

验证

  • ruff: All checks passed
  • pytest: 44 passed
## 概述 为 domain 层 7 个小模块新增 44 个单测,纯逻辑 0 外部依赖。 ## 覆盖模块 1. **EditingMode**(枚举)- 6个 2. **Tag**(工厂)- 4个 3. **RecipeItem / Recipe** - 6个 4. **VoiceLibraryItem** - 3个 5. **TitleLibraryItem** - 3个 6. **TemplateSegment / Template / TemplateCategory** - 6个 7. **EditTemplateStatus / EditTemplate**(工厂+状态流转)- 16个 ## 验证 - ruff: All checks passed - pytest: 44 passed
Collaborator

代码审查结果 - PR #1086

⚠️ 问题(0个需要修改)

💡 建议(1个可选)

  1. tests/unit/domain/test_classification.py 第24行test_str_compatible 测试用例与 test_video 完全重复,未实际验证 StrEnum 的字符串兼容性(如 str() 转换或字符串拼接)。建议修改为 assert str(AssetLibraryKind.VIDEO) == "video" 或直接删除该重复用例。

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


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

## 代码审查结果 - PR #1086 ### ⚠️ 问题(0个需要修改) 无 ### 💡 建议(1个可选) 1. **tests/unit/domain/test_classification.py 第24行**:`test_str_compatible` 测试用例与 `test_video` 完全重复,未实际验证 `StrEnum` 的字符串兼容性(如 `str()` 转换或字符串拼接)。建议修改为 `assert str(AssetLibraryKind.VIDEO) == "video"` 或直接删除该重复用例。 --- ✅ 格式检查通过 | ✅ 逻辑审查通过 | ✅ 性能良好 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-28 07:11:34 | 模型: </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:13 +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
7abb9bea1c
为 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/wave157-domain-small-modules from 51d34cd95e to 7abb9bea1c 2026-07-28 16:12:13 +08:00 Compare
xiaoxia added 5 commits 2026-07-28 16:13:56 +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个(最简/全字段/二选一校验/列表拷贝/默认值)
test(wave157): domain层7个小模块批量单测 +44
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) CI runner不可用,手动设置
AI Code Review / AI Code Review (pull_request) CI runner不可用,手动设置
Preview Cleanup / Cleanup Preview Environment (pull_request) Waiting to run
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
945a85dcf9
为 domain 层 7 个小模块新增 44 个单测,纯逻辑 0 外部依赖:

- EditingMode 枚举:6个
- Tag 工厂:4个
- RecipeItem/Recipe:6个
- VoiceLibraryItem:3个
- TitleLibraryItem:3个
- TemplateSegment/Template/TemplateCategory:6个
- EditTemplateStatus/EditTemplate:16个
xiaoxia merged commit 8a0b9b8878 into develop 2026-07-28 16:18:58 +08:00
Sign in to join this conversation.