fix(test): 修复publish_template_from_draft单元测试失败 #650

Merged
auto-approve-bot merged 1 commits from fix/unit-test-publish-template-draft into develop 2026-07-20 19:02:55 +08:00

1 Commits

Author SHA1 Message Date
CI Bot 79cec240c3 fix(test): 修复publish_template_from_draft单元测试失败
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 / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 14s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (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 / Production Browser E2E (pull_request) Has been skipped
AI Code Review / AI Code Review (pull_request) Successful in 2m11s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m47s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 45s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 4m35s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 6m27s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 7m35s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 6m57s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 7s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m49s
根因:publish_template_from_draft方法中删除旧片段配置用了self._db.query().delete()
直接操作SQLAlchemy,绕过了_clip_config_repo。单元测试的stub repository
无法感知这个删除操作,导致旧数据残留,发布后片段数量从预期2个变成3个。

修复:将直接db删除改为_clip_config_repo.delete_by_template(),
统一走repository模式,保证测试stub和真实行为一致。
2026-07-20 18:53:39 +08:00