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 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 import Bot
|
||||||
from aiogram.api.types import Update
|
from aiogram.api.types import Update
|
||||||
|
|
@ -18,12 +18,18 @@ class BaseHandler(BaseHandlerMixin[T], ABC):
|
||||||
Base class for all class-based handlers
|
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.event: T = event
|
||||||
self.data: Dict[str, Any] = data
|
self.data: Dict[str, Any] = data or {}
|
||||||
|
|
||||||
for req_attr, req in requirements_data.items():
|
if requirements_data:
|
||||||
setattr(self, req_attr, req)
|
for req_attr, req in requirements_data.items():
|
||||||
|
setattr(self, req_attr, req)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def bot(self) -> Bot:
|
def bot(self) -> Bot:
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ class TestBaseClassBasedHandler:
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
async def test_base_handler(self):
|
async def test_base_handler(self):
|
||||||
event = Update(update_id=42)
|
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.event == event
|
||||||
assert handler.data["key"] == 42
|
assert handler.data["key"] == 42
|
||||||
|
|
@ -29,7 +29,7 @@ class TestBaseClassBasedHandler:
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
async def test_bot_from_context(self):
|
async def test_bot_from_context(self):
|
||||||
event = Update(update_id=42)
|
event = Update(update_id=42)
|
||||||
handler = MyHandler(event=event, key=42)
|
handler = MyHandler(event=event, data=dict(key=42))
|
||||||
bot = Bot("42:TEST")
|
bot = Bot("42:TEST")
|
||||||
|
|
||||||
with pytest.raises(LookupError):
|
with pytest.raises(LookupError):
|
||||||
|
|
@ -42,7 +42,7 @@ class TestBaseClassBasedHandler:
|
||||||
async def test_bot_from_data(self):
|
async def test_bot_from_data(self):
|
||||||
event = Update(update_id=42)
|
event = Update(update_id=42)
|
||||||
bot = Bot("42:TEST")
|
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 "bot" in handler.data
|
||||||
assert handler.bot == bot
|
assert handler.bot == bot
|
||||||
|
|
@ -52,7 +52,7 @@ class TestBaseClassBasedHandler:
|
||||||
message_id=42, chat=Chat(id=42, type="private"), date=datetime.datetime.now()
|
message_id=42, chat=Chat(id=42, type="private"), date=datetime.datetime.now()
|
||||||
)
|
)
|
||||||
update = Update(update_id=42, message=event)
|
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.event == event
|
||||||
assert handler.update == update
|
assert handler.update == update
|
||||||
|
|
|
||||||
|
|
@ -24,4 +24,4 @@ class TestCallbackQueryHandler:
|
||||||
assert self.message == self.message
|
assert self.message == self.message
|
||||||
return True
|
return True
|
||||||
|
|
||||||
assert await MyHandler(event)
|
assert await MyHandler(event, {}, {})
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ class TestBaseMessageHandlerCommandMixin:
|
||||||
chat=Chat(id=42, type="private"),
|
chat=Chat(id=42, type="private"),
|
||||||
from_user=User(id=42, is_bot=False, first_name="Test"),
|
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)
|
assert isinstance(handler.command, CommandObject)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue