This commit is contained in:
Daniil
2026-04-07 13:42:45 +03:00
parent 7d2f444e1c
commit 259d3da89f
34 changed files with 2130 additions and 788 deletions
+37
View File
@@ -106,3 +106,40 @@ async def test_cancel_job_marks_job_cancelled_and_keeps_record() -> None:
service._create_cancellation_notification.assert_awaited_once_with(
cancelled_job
)
@pytest.mark.asyncio
async def test_record_webhook_event_updates_progress_for_conversion_job() -> None:
job = SimpleNamespace(
id=uuid.uuid4(),
status="RUNNING",
job_type="MEDIA_CONVERT",
user_id=None,
)
updated_job = SimpleNamespace(**job.__dict__, project_pct=52.5)
job_repo = SimpleNamespace(
get_by_id=AsyncMock(return_value=job),
update=AsyncMock(return_value=updated_job),
)
event_repo = SimpleNamespace(create=AsyncMock())
service = TaskService(session=AsyncMock())
service._job_repo = job_repo
service._event_repo = event_repo
result = await service.record_webhook_event(
job_id=job.id,
event=TaskWebhookEvent(
progress_pct=52.5,
current_message="Конвертация видео",
),
)
update_call = job_repo.update.await_args.args[1]
event_call = event_repo.create.await_args.args[0]
assert result is updated_job
assert update_call.project_pct == 52.5
assert update_call.current_message == "Конвертация видео"
assert event_call.event_type == "progress"
assert event_call.payload["progress_pct"] == 52.5