Добавлено поле ban_author в модель BlacklistUser и соответствующие изменения в базе данных для отслеживания автора блокировки пользователя. Обновлены методы работы с черным списком в AsyncBotDB и BlacklistRepository, а также обработка блокировок в AdminService и BanService. Обновлены тесты для проверки новых функциональностей.

This commit is contained in:
2026-01-23 13:38:48 +03:00
parent 89022aedaf
commit 477e2666a3
10 changed files with 150 additions and 42 deletions

View File

@@ -153,7 +153,7 @@ class TestAdminService:
self.mock_db.set_user_blacklist = AsyncMock(return_value=None)
# Act
await self.admin_service.ban_user(user_id, username, reason, ban_days)
await self.admin_service.ban_user(user_id, username, reason, ban_days, ban_author_id=999)
# Assert
self.mock_db.check_user_in_blacklist.assert_called_once_with(user_id)
@@ -187,10 +187,10 @@ class TestAdminService:
self.mock_db.set_user_blacklist = AsyncMock(return_value=None)
# Act
await self.admin_service.ban_user(user_id, username, reason, ban_days)
await self.admin_service.ban_user(user_id, username, reason, ban_days, ban_author_id=999)
# Assert
self.mock_db.set_user_blacklist.assert_called_once_with(user_id, None, reason, None)
self.mock_db.set_user_blacklist.assert_called_once_with(user_id, None, reason, None, ban_author=999)
@pytest.mark.asyncio
async def test_unban_user_success(self):