mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
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
This commit is contained in:
parent
577b44cdc1
commit
321b320f15
5 changed files with 21 additions and 17 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue