Files
xiaoxia-saas/tests
灵应 c74efc6618
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 36h4m16s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 36h4m16s
fix: rewrite voice_clone task tests — mock CosyVoiceService + fix bind=True call
Root causes of 6 test failures:
1. CosyVoiceService was not mocked — production code instantiates it
   with real get_shared_settings() + httpx.Client() calls
2. VoiceCloneWorkflowService mocked as MagicMock doesn't execute real
   poll_and_process_clone logic — not_found test needs explicit side_effect
3. Celery bind=True task.__call__ auto-passes self — passing mock_self
   manually caused 'takes 2 positional arguments but 3 were given'

Fixes:
- Add @patch('worker_app.tasks.voice_clone.CosyVoiceService') to all tests
- Use patch.object(task, 'retry') for timeout retry test
- Use MagicMock for profile return values instead of real dataclass
- Call process_voice_clone(profile_id) without manual self arg

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 00:50:09 +08:00
..