style: auto-format with black + isort + prettier [skip ci-format-check]
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 31s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 33s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m44s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m46s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m53s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 1m59s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m5s
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Unit 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 / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 2m1s
AI Code Review / AI Code Review (pull_request) Has been cancelled

This commit is contained in:
CI Bot
2026-09-07 00:56:05 +00:00
parent 9503723e81
commit 4205def388
3 changed files with 12 additions and 17 deletions
@@ -9,9 +9,9 @@ from unittest.mock import MagicMock, patch
import pytest
# ── helpers ───────────────────────────────────────────────────────────────────
def _make_svc():
"""构造 EditPlanServicemock 掉 DB/repos。"""
from app.services.edit_plan_service import EditPlanService
@@ -165,22 +165,20 @@ class TestEnsureVariantPlans:
def test_count_1_with_voice(self):
svc = self._setup_svc()
result = svc.ensure_variant_plans(
"src", 1, ["a1"], voice_durations=[30.0]
)
result = svc.ensure_variant_plans("src", 1, ["a1"], voice_durations=[30.0])
assert result == ["plan_v0"]
svc.apply_voice_duration_to_plan.assert_called_once_with("plan_v0", 30.0)
def test_count_3_with_voice(self):
svc = self._setup_svc()
svc.reselect_plan_for_variant = MagicMock(side_effect=[
MagicMock(id="plan_v1"),
MagicMock(id="plan_v2"),
])
result = svc.ensure_variant_plans(
"src", 3, ["a1", "a2"], voice_durations=[30.0, 20.0, 15.0]
svc.reselect_plan_for_variant = MagicMock(
side_effect=[
MagicMock(id="plan_v1"),
MagicMock(id="plan_v2"),
]
)
result = svc.ensure_variant_plans("src", 3, ["a1", "a2"], voice_durations=[30.0, 20.0, 15.0])
assert len(result) == 3
assert result[0] == "plan_v0"
# v0 配音
@@ -191,7 +189,5 @@ class TestEnsureVariantPlans:
def test_voice_apply_failure_not_blocking(self):
svc = self._setup_svc()
svc.apply_voice_duration_to_plan.side_effect = RuntimeError("boom")
result = svc.ensure_variant_plans(
"src", 1, ["a1"], voice_durations=[30.0]
)
result = svc.ensure_variant_plans("src", 1, ["a1"], voice_durations=[30.0])
assert result == ["plan_v0"]
@@ -7,13 +7,13 @@
from __future__ import annotations
from unittest.mock import MagicMock, patch, call
from unittest.mock import MagicMock, call, patch
import pytest
# ── 辅助 ──────────────────────────────────────────────────────────────────────
def _make_user():
mu = MagicMock()
mu.user.id = "u1"
@@ -14,7 +14,6 @@ from __future__ import annotations
from unittest.mock import MagicMock, patch
import pytest
from fastapi import HTTPException