mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
fix(tests): use relevant BaseHandler.__init__ signature
fix breaking tests, change signature of BaseHandler
This commit is contained in:
parent
0b3702f658
commit
de962d043d
4 changed files with 17 additions and 11 deletions
|
|
@ -1,5 +1,5 @@
|
|||
from abc import ABC, abstractmethod
|
||||
from typing import TYPE_CHECKING, Any, Dict, Generic, TypeVar, cast
|
||||
from typing import TYPE_CHECKING, Any, Dict, Generic, Optional, TypeVar, cast
|
||||
|
||||
from aiogram import Bot
|
||||
from aiogram.api.types import Update
|
||||
|
|
@ -18,12 +18,18 @@ class BaseHandler(BaseHandlerMixin[T], ABC):
|
|||
Base class for all class-based handlers
|
||||
"""
|
||||
|
||||
def __init__(self, event: T, requirements_data: Dict[str, Any], data: Dict[str, Any]) -> None:
|
||||
def __init__(
|
||||
self,
|
||||
event: T,
|
||||
requirements_data: Optional[Dict[str, Any]] = None,
|
||||
data: Optional[Dict[str, Any]] = None,
|
||||
) -> None:
|
||||
self.event: T = event
|
||||
self.data: Dict[str, Any] = data
|
||||
self.data: Dict[str, Any] = data or {}
|
||||
|
||||
for req_attr, req in requirements_data.items():
|
||||
setattr(self, req_attr, req)
|
||||
if requirements_data:
|
||||
for req_attr, req in requirements_data.items():
|
||||
setattr(self, req_attr, req)
|
||||
|
||||
@property
|
||||
def bot(self) -> Bot:
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class TestBaseClassBasedHandler:
|
|||
@pytest.mark.asyncio
|
||||
async def test_base_handler(self):
|
||||
event = Update(update_id=42)
|
||||
handler = MyHandler(event=event, key=42)
|
||||
handler = MyHandler(event=event, data=dict(key=42))
|
||||
|
||||
assert handler.event == event
|
||||
assert handler.data["key"] == 42
|
||||
|
|
@ -29,7 +29,7 @@ class TestBaseClassBasedHandler:
|
|||
@pytest.mark.asyncio
|
||||
async def test_bot_from_context(self):
|
||||
event = Update(update_id=42)
|
||||
handler = MyHandler(event=event, key=42)
|
||||
handler = MyHandler(event=event, data=dict(key=42))
|
||||
bot = Bot("42:TEST")
|
||||
|
||||
with pytest.raises(LookupError):
|
||||
|
|
@ -42,7 +42,7 @@ class TestBaseClassBasedHandler:
|
|||
async def test_bot_from_data(self):
|
||||
event = Update(update_id=42)
|
||||
bot = Bot("42:TEST")
|
||||
handler = MyHandler(event=event, key=42, bot=bot)
|
||||
handler = MyHandler(event=event, data=dict(key=42, bot=bot))
|
||||
|
||||
assert "bot" in handler.data
|
||||
assert handler.bot == bot
|
||||
|
|
@ -52,7 +52,7 @@ class TestBaseClassBasedHandler:
|
|||
message_id=42, chat=Chat(id=42, type="private"), date=datetime.datetime.now()
|
||||
)
|
||||
update = Update(update_id=42, message=event)
|
||||
handler = MyHandler(event=event, update=update)
|
||||
handler = MyHandler(event=event, data=dict(update=update))
|
||||
|
||||
assert handler.event == event
|
||||
assert handler.update == update
|
||||
|
|
|
|||
|
|
@ -24,4 +24,4 @@ class TestCallbackQueryHandler:
|
|||
assert self.message == self.message
|
||||
return True
|
||||
|
||||
assert await MyHandler(event)
|
||||
assert await MyHandler(event, {}, {})
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class TestBaseMessageHandlerCommandMixin:
|
|||
chat=Chat(id=42, type="private"),
|
||||
from_user=User(id=42, is_bot=False, first_name="Test"),
|
||||
),
|
||||
command=CommandObject(prefix="/", command="command", args="args"),
|
||||
data=dict(command=CommandObject(prefix="/", command="command", args="args")),
|
||||
)
|
||||
|
||||
assert isinstance(handler.command, CommandObject)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue