Добрый день. У меня есть класс, для работы с базой данных Я бы хотел реализовать тесты для него, хочу использовать AsyncMock и проверять как он был вызван с какими параметрами. Я получаю ошибку AttributeError: 'coroutine' object has no attribute 'objects'
class SyncDB(Actor):
category: ACTORS
database: BaseDBQuery
control: t.Any
def __init__(self, category: ACTORS, control: t.Any, database: BaseDBQuery) -> None:
self.category = category
self.database = database()
self.control = control()
super().__init__()
async def __call__(self) -> None:
for model in await self.control.objects(state=True):
if not model.oid:
result = self.database.create(
json=json.dumps(model.as_dict())
)
create_rows_count += result.status
...
тест
@mark.asyncio
async def test_sync_bank(bank):
mock_bank_control = AsyncMock()
mock_bank_control.objects = AsyncMock(return_value=[bank])
mock_bank_db = AsyncMock(BankDB)
actor = SyncDB(ACTORS.SYNC_BANK, control=mock_bank_control, database=mock_bank_db)
await actor.__call__()