Added MagicData filter

This commit is contained in:
Alex Root Junior 2021-10-11 01:27:07 +03:00
parent 2d21cb22f1
commit 3f2bcbd8d1
3 changed files with 100 additions and 14 deletions

View file

@ -0,0 +1,30 @@
import pytest
from magic_filter import AttrDict
from aiogram import F
from aiogram.dispatcher.filters import MagicData
from aiogram.types import Update
class TestMagicDataFilter:
@pytest.mark.asyncio
async def test_call(self):
called = False
def check(value):
nonlocal called
called = True
assert isinstance(value, AttrDict)
assert value[0] == "foo"
assert value[1] == "bar"
assert value["spam"] is True
assert value.spam is True
return value
f = MagicData(magic_data=F.func(check))
result = await f(Update(update_id=123), "foo", "bar", spam=True)
assert called
assert isinstance(result, bool)
assert result