diff --git a/opentech/apply/activity/tests/test_messaging.py b/opentech/apply/activity/tests/test_messaging.py index ba2eb4f5537042eaca167380afd90419d171b632..92a5415e3100979974c9e9b887525ae1c5260491 100644 --- a/opentech/apply/activity/tests/test_messaging.py +++ b/opentech/apply/activity/tests/test_messaging.py @@ -28,3 +28,34 @@ class TestBaseAdapter(TestCase): self.adapter.process(message_type) self.adapter.send_message.assert_called_once_with(message_type.value) + + def test_doesnt_send_a_message_if_not_configured(self): + self.adapter.process('this_is_not_a_message_type') + + self.adapter.send_message.assert_not_called() + + def test_calls_method_if_avaliable(self): + method_name = 'new_method' + return_message = 'Returned message' + setattr(self.adapter, method_name, lambda: return_message) + self.adapter.messages[method_name] = method_name + + self.adapter.process(method_name) + + self.adapter.send_message.assert_called_once_with(return_message) + + def test_that_kwargs_passed_to_send_message(self): + message_type = MESSAGES.UPDATE_LEAD + kwargs = {'test': 'that', 'these': 'exist'} + self.adapter.process(message_type, **kwargs) + + self.adapter.send_message.assert_called_once_with(message_type.value, **kwargs) + + def test_that_message_is_formatted(self): + message_type = MESSAGES.UPDATE_LEAD + self.adapter.messages[message_type] = '{message}' + message = 'message value' + + self.adapter.process(message_type, message=message) + + self.adapter.send_message.assert_called_once_with(message, message=message)