# tests/unit/test_workers_reaper.py from __future__ import annotations import pytest from unittest.mock import AsyncMock, patch, Mock 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()