fix linter, fix ci, fix tests

This commit is contained in:
2026-02-02 00:46:44 +03:00
parent 68041037bd
commit d87d4e492e
93 changed files with 1042 additions and 862 deletions

View File

@@ -5,12 +5,8 @@
from unittest.mock import AsyncMock, MagicMock, patch
import pytest
from helper_bot.handlers.admin.dependencies import (
AdminAccessMiddleware,
get_bot_db,
get_settings,
)
from helper_bot.handlers.admin.dependencies import (AdminAccessMiddleware,
get_bot_db, get_settings)
@pytest.mark.unit
@@ -28,8 +24,12 @@ class TestAdminAccessMiddleware:
"""Мок handler."""
return AsyncMock(return_value="handler_result")
@patch("helper_bot.handlers.admin.dependencies.check_access", new_callable=AsyncMock)
async def test_access_granted_calls_handler(self, mock_check_access, middleware, mock_handler):
@patch(
"helper_bot.handlers.admin.dependencies.check_access", new_callable=AsyncMock
)
async def test_access_granted_calls_handler(
self, mock_check_access, middleware, mock_handler
):
"""При доступе разрешён вызывается handler с event и data."""
mock_check_access.return_value = True
event = MagicMock()
@@ -44,7 +44,9 @@ class TestAdminAccessMiddleware:
mock_handler.assert_awaited_once_with(event, data)
assert result == "handler_result"
@patch("helper_bot.handlers.admin.dependencies.check_access", new_callable=AsyncMock)
@patch(
"helper_bot.handlers.admin.dependencies.check_access", new_callable=AsyncMock
)
async def test_access_denied_answers_and_does_not_call_handler(
self, mock_check_access, middleware, mock_handler
):
@@ -64,7 +66,9 @@ class TestAdminAccessMiddleware:
mock_handler.assert_not_awaited()
assert result is None
@patch("helper_bot.handlers.admin.dependencies.check_access", new_callable=AsyncMock)
@patch(
"helper_bot.handlers.admin.dependencies.check_access", new_callable=AsyncMock
)
@patch("helper_bot.handlers.admin.dependencies.get_global_instance")
async def test_fallback_get_db_from_global_when_bot_db_missing(
self, mock_get_global, mock_check_access, middleware, mock_handler
@@ -86,11 +90,17 @@ class TestAdminAccessMiddleware:
mock_bdf.get_db.assert_called_once()
mock_check_access.assert_awaited_once_with(1, mock_bdf.get_db.return_value)
@patch("helper_bot.handlers.admin.dependencies.check_access", new_callable=AsyncMock)
async def test_event_without_from_user_calls_handler(self, mock_check_access, middleware, mock_handler):
@patch(
"helper_bot.handlers.admin.dependencies.check_access", new_callable=AsyncMock
)
async def test_event_without_from_user_calls_handler(
self, mock_check_access, middleware, mock_handler
):
"""Если у event нет from_user, handler вызывается (проверка доступа не выполняется)."""
class EventWithoutUser:
pass
event = EventWithoutUser()
data = {}
@@ -100,7 +110,9 @@ class TestAdminAccessMiddleware:
mock_handler.assert_awaited_once_with(event, data)
assert result == "handler_result"
@patch("helper_bot.handlers.admin.dependencies.check_access", new_callable=AsyncMock)
@patch(
"helper_bot.handlers.admin.dependencies.check_access", new_callable=AsyncMock
)
async def test_handler_typeerror_missing_data_calls_handler_without_data(
self, mock_check_access, middleware
):
@@ -127,8 +139,12 @@ class TestAdminAccessMiddleware:
assert call_count == 2
assert result == "ok"
@patch("helper_bot.handlers.admin.dependencies.check_access", new_callable=AsyncMock)
async def test_handler_other_exception_reraises(self, mock_check_access, middleware):
@patch(
"helper_bot.handlers.admin.dependencies.check_access", new_callable=AsyncMock
)
async def test_handler_other_exception_reraises(
self, mock_check_access, middleware
):
"""При другом исключении в handler оно пробрасывается."""
mock_check_access.return_value = True