Move packages

This commit is contained in:
Alex Root Junior 2022-07-10 00:21:34 +03:00
parent 70088cdd65
commit 4f12b6792f
No known key found for this signature in database
GPG key ID: 074C1D455EBEA4AC
109 changed files with 364 additions and 384 deletions

View file

@ -0,0 +1,64 @@
import asyncio
import datetime
from functools import wraps
from typing import Any
import pytest
from aiogram import Bot
from aiogram.dispatcher.event.handler import HandlerObject
from aiogram.handler import BaseHandler
from aiogram.types import Chat, Message, Update
pytestmark = pytest.mark.asyncio
class MyHandler(BaseHandler):
async def handle(self) -> Any:
await asyncio.sleep(0.1)
return 42
class TestBaseClassBasedHandler:
async def test_base_handler(self):
event = Update(update_id=42)
handler = MyHandler(event=event, key=42)
assert handler.event == event
assert handler.data["key"] == 42
assert not hasattr(handler, "filters")
assert await handler == 42
async def test_bot_from_context(self):
event = Update(update_id=42)
handler = MyHandler(event=event, key=42)
bot = Bot("42:TEST")
with pytest.raises(LookupError):
handler.bot
Bot.set_current(bot)
assert handler.bot == bot
async def test_bot_from_data(self):
event = Update(update_id=42)
bot = Bot("42:TEST")
handler = MyHandler(event=event, key=42, bot=bot)
assert "bot" in handler.data
assert handler.bot == bot
def test_update_from_data(self):
event = Message(
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)
assert handler.event == event
assert handler.update == update
async def test_wrapped_handler(self):
# wrap the handler on dummy function
handler = wraps(MyHandler)(lambda: None)
assert HandlerObject(handler).awaitable is True