bot lib tests: Add test_send_reply.
This commit is contained in:
parent
efeac92d42
commit
39601d190c
|
@ -1,4 +1,5 @@
|
||||||
from unittest import TestCase
|
from unittest import TestCase
|
||||||
|
from mock import MagicMock
|
||||||
from zulip_bots.lib import (
|
from zulip_bots.lib import (
|
||||||
ExternalBotHandler,
|
ExternalBotHandler,
|
||||||
StateHandler,
|
StateHandler,
|
||||||
|
@ -58,3 +59,25 @@ class LibTest(TestCase):
|
||||||
state_handler = StateHandler(client)
|
state_handler = StateHandler(client)
|
||||||
val = state_handler.get('key')
|
val = state_handler.get('key')
|
||||||
self.assertEqual(val, [1, 2, 3])
|
self.assertEqual(val, [1, 2, 3])
|
||||||
|
|
||||||
|
def test_send_reply(self):
|
||||||
|
client = FakeClient()
|
||||||
|
profile = client.get_profile()
|
||||||
|
handler = ExternalBotHandler(
|
||||||
|
client=client,
|
||||||
|
root_dir=None,
|
||||||
|
bot_details=None,
|
||||||
|
bot_config_file=None
|
||||||
|
)
|
||||||
|
to = {'email': 'Some@User'}
|
||||||
|
expected = [({'type': 'private', 'display_recipient': [to]},
|
||||||
|
{'type': 'private', 'to': [to['email']]}),
|
||||||
|
({'type': 'private', 'display_recipient': [to, profile]},
|
||||||
|
{'type': 'private', 'to': [to['email']]}),
|
||||||
|
({'type': 'stream', 'display_recipient': 'Stream name', 'subject': 'Topic'},
|
||||||
|
{'type': 'stream', 'to': 'Stream name', 'subject': 'Topic'})]
|
||||||
|
response_text = "Response"
|
||||||
|
for test in expected:
|
||||||
|
client.send_message = MagicMock()
|
||||||
|
handler.send_reply(test[0], response_text)
|
||||||
|
client.send_message.assert_called_once_with(dict(test[1], content=response_text))
|
||||||
|
|
Loading…
Reference in a new issue