from __future__ import annotations from unittest.mock import AsyncMock, Mock, patch import pytest from dataloader.workers.reaper import requeue_lost @pytest.mark.unit @pytest.mark.asyncio async def test_requeue_lost_calls_repository_and_returns_ids(): """ Проверяет, что requeue_lost вызывает QueueRepository.requeue_lost и возвращает результат. """ fake_session = Mock() with patch("dataloader.workers.reaper.QueueRepository") as repo_cls: repo = Mock() repo.requeue_lost = AsyncMock(return_value=["id1", "id2"]) repo_cls.return_value = repo res = await requeue_lost(fake_session) assert res == ["id1", "id2"] repo_cls.assert_called_once_with(fake_session) repo.requeue_lost.assert_awaited_once()