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
Branches
Tags
No related merge requests found
......@@ -83,10 +83,8 @@ class ActivityAdapter(AdapterBase):
class MessengerBackend:
adapters = [
ActivityAdapter(),
MessageAdapter(),
]
def __init__(self, *adpaters):
self.adapters = adpaters
def __call__(self, message_type, request, user, submission, **kwargs):
return self.send(message_type, request=request, user=user, submission=submission, **kwargs)
......@@ -96,4 +94,10 @@ class MessengerBackend:
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 ..messaging import AdapterBase, MESSAGES
from ..messaging import AdapterBase, MessengerBackend, MESSAGES
class TestAdapter(AdapterBase):
......@@ -59,3 +59,28 @@ class TestBaseAdapter(TestCase):
self.adapter.process(message_type, 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.
Please register or to comment