def test_callback_registry_callbacks_default(mocker): callback = mocker.Mock() registry = CallbackRegistry() assert registry.callbacks() == [] registry.register(None, callback) assert registry.callbacks() == [Callback(callback)]
def test_callback_registry_callbacks(mocker): callback_one = mocker.Mock() callback_two = mocker.Mock() callback_default = mocker.Mock() registry = CallbackRegistry() registry.register("one", callback_one) registry.register("two", callback_two) registry.register(None, callback_default) assert registry.callbacks() == [Callback(callback_default)] assert registry.callbacks("one") == [Callback(callback_one)] assert registry.callbacks("two") == [Callback(callback_two)]
def test_callback_registry_multiple(mocker): callback_one = mocker.Mock() callback_two = mocker.Mock() registry = CallbackRegistry( callbacks={"event": [callback_one, callback_two]}) assert len(registry.callbacks("event")) == 2 registry.dispatch("event", "event") callback_one.assert_called_once() callback_one.assert_called_once_with("event") callback_two.assert_called_once() callback_two.assert_called_once_with("event") callback_one.reset_mock() callback_two.reset_mock() registry.deregister("event", callback_two) registry.dispatch("event", "event") callback_one.assert_called_once() callback_one.assert_called_once_with("event") callback_two.assert_not_called()