Extended MagicFilter with aiogram-specific operation (#759)

* Extend MagicFilter with aiogram-specific operation

* Added tests

* Added changes annotation and update docs
This commit is contained in:
Alex Root Junior 2021-11-24 06:00:37 +02:00 committed by GitHub
parent 092b3f06f2
commit d7be55bc58
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 85 additions and 11 deletions

View file

@ -0,0 +1,21 @@
from dataclasses import dataclass
from re import Match
from aiogram import F
from aiogram.utils.magic_filter import MagicFilter
@dataclass
class MyObject:
text: str
class TestMagicFilter:
def test_operation_as(self):
magic: MagicFilter = F.text.regexp(r"^(\d+)$").as_("match")
assert not magic.resolve(MyObject(text="test"))
result = magic.resolve(MyObject(text="123"))
assert isinstance(result, dict)
assert isinstance(result["match"], Match)