Files
natureinpots_community/tests/test_event_dispatcher.py

23 lines
706 B
Python

import pytest
from app.hooks import EventDispatcher, listen_event
def test_register_and_dispatch():
results = []
def listener1(a, b=None):
results.append(('l1', a, b))
def listener2(a, b=None):
results.append(('l2', a, b))
EventDispatcher.register('test_event', listener1)
EventDispatcher.register('test_event', listener2)
EventDispatcher.dispatch('test_event', 1, b=2)
assert ('l1', 1, 2) in results
assert ('l2', 1, 2) in results
def test_listen_event_decorator():
results = []
@listen_event('decorated_event')
def handler(x):
results.append(x)
EventDispatcher.dispatch('decorated_event', 'hello')
assert results == ['hello']