Skip to content
Snippets Groups Projects
Commit 7f08dcc4 authored by Todd Dembrey's avatar Todd Dembrey
Browse files

Add tests for the backend

parent 3584fa1c
No related branches found
No related tags found
No related merge requests found
...@@ -83,10 +83,8 @@ class ActivityAdapter(AdapterBase): ...@@ -83,10 +83,8 @@ class ActivityAdapter(AdapterBase):
class MessengerBackend: class MessengerBackend:
adapters = [ def __init__(self, *adpaters):
ActivityAdapter(), self.adapters = adpaters
MessageAdapter(),
]
def __call__(self, message_type, request, user, submission, **kwargs): def __call__(self, message_type, request, user, submission, **kwargs):
return self.send(message_type, request=request, user=user, submission=submission, **kwargs) return self.send(message_type, request=request, user=user, submission=submission, **kwargs)
...@@ -96,4 +94,10 @@ class MessengerBackend: ...@@ -96,4 +94,10 @@ class MessengerBackend:
adapter.process(message_type, **kwargs) adapter.process(message_type, **kwargs)
messenger = MessengerBackend() adapters = [
ActivityAdapter(),
MessageAdapter(),
]
messenger = MessengerBackend(*adapters)
from unittest.mock import patch from unittest.mock import Mock, patch
from django.test import TestCase from django.test import TestCase
from ..messaging import AdapterBase, MESSAGES from ..messaging import AdapterBase, MessengerBackend, MESSAGES
class TestAdapter(AdapterBase): class TestAdapter(AdapterBase):
...@@ -59,3 +59,28 @@ class TestBaseAdapter(TestCase): ...@@ -59,3 +59,28 @@ class TestBaseAdapter(TestCase):
self.adapter.process(message_type, message=message) self.adapter.process(message_type, message=message)
self.adapter.send_message.assert_called_once_with(message, message=message) self.adapter.send_message.assert_called_once_with(message, message=message)
class TestMessageBackend(TestCase):
def setUp(self):
self.mocked_adapter = Mock(AdapterBase)
self.backend = MessengerBackend
def test_message_sent_to_adapter(self):
adapter = self.mocked_adapter()
messenger = self.backend(adapter)
kwargs = {'request': None, 'user': None, 'submission': None}
messenger(MESSAGES.UPDATE_LEAD, **kwargs)
adapter.process.assert_called_once_with(MESSAGES.UPDATE_LEAD, **kwargs)
def test_message_sent_to_all_adapter(self):
adapters = [self.mocked_adapter(), self.mocked_adapter()]
messenger = self.backend(*adapters)
kwargs = {'request': None, 'user': None, 'submission': None}
messenger(MESSAGES.UPDATE_LEAD, **kwargs)
adapter = adapters[0]
self.assertEqual(adapter.process.call_count, len(adapters))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment