Content from global filters (#1267)

* Move global filters check placement into router to add chance to pass context from global filters into handlers in the same way as it possible in other places

* Added changelog
This commit is contained in:
Alex Root Junior 2023-08-14 22:18:11 +03:00 committed by GitHub
parent 577b44cdc1
commit 8ff992bf1d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 23 additions and 17 deletions

View file

@ -5,7 +5,7 @@ from typing import Any, Dict, NoReturn, Optional, Union
import pytest
from pydantic import BaseModel
from aiogram.dispatcher.event.bases import REJECTED, SkipHandler
from aiogram.dispatcher.event.bases import SkipHandler, UNHANDLED
from aiogram.dispatcher.event.handler import HandlerObject
from aiogram.dispatcher.event.telegram import TelegramEventObserver
from aiogram.dispatcher.router import Router
@ -13,6 +13,7 @@ from aiogram.exceptions import UnsupportedKeywordArgument
from aiogram.filters import Filter
from aiogram.types import Chat, Message, User
# TODO: Test middlewares in routers tree
@ -220,8 +221,8 @@ class TestTelegramEventObserver:
r1.message.register(handler)
r2.message.register(handler)
assert await r1.message.trigger(None) is REJECTED
assert await r2.message.trigger(None) is None
assert await r1.propagate_event("message", None) is UNHANDLED
assert await r2.propagate_event("message", None) is None
async def test_global_filter_in_nested_router(self):
r1 = Router()
@ -234,4 +235,4 @@ class TestTelegramEventObserver:
r1.message.filter(lambda evt: False)
r2.message.register(handler)
assert await r1.message.trigger(None) is REJECTED
assert await r1.message.trigger(None) is UNHANDLED