From eb5e5e007a318fd7f5f2378fb232d59b951fc19d Mon Sep 17 00:00:00 2001 From: Andrey Tikhonov Date: Sun, 19 Mar 2023 13:15:54 +0100 Subject: [PATCH] Test custom event in router --- tests/test_dispatcher/test_router.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/test_dispatcher/test_router.py b/tests/test_dispatcher/test_router.py index 3404822d..1ac78480 100644 --- a/tests/test_dispatcher/test_router.py +++ b/tests/test_dispatcher/test_router.py @@ -1,6 +1,7 @@ import pytest from aiogram.dispatcher.event.bases import UNHANDLED, SkipHandler, skip +from aiogram.dispatcher.event.telegram import TelegramEventObserver from aiogram.dispatcher.router import Router @@ -161,3 +162,20 @@ class TestRouter: assert tuple(r2_1.chain_head) == (r2_1, r1) assert tuple(r2_2.chain_head) == (r2_2, r1) assert tuple(r3.chain_head) == (r3, r2_1, r1) + + async def test_custom_evenv_nested_router(self): + r1 = Router() + r2 = Router() + r3 = Router() + r3.observers["custom-event"] = TelegramEventObserver(r3, event_name="custom-event") + + async def handler(evt): + return evt + + r1.include_router(r2) + r1.include_router(r3) + r3.observers["custom-event"].register(handler) + + assert await r1.propagate_event(update_type="custom-event", event=None) is None + assert await r2.propagate_event(update_type="custom-event", event=None) is UNHANDLED + assert await r3.propagate_event(update_type="custom-event", event=None) is None