diff options
author | Trygve Aaberge <trygveaa@gmail.com> | 2017-10-08 23:58:33 +0200 |
---|---|---|
committer | Trygve Aaberge <trygveaa@gmail.com> | 2017-10-08 23:59:20 +0200 |
commit | d1a2abb989f3e769be84e16ee782c6927119ba58 (patch) | |
tree | 74def7e156b7acc3d30f34f92a3bc7321623454a | |
parent | b8d4a3375d105a22aa3d90a199ecf9a8ff16e5b6 (diff) | |
download | wee-slack-d1a2abb989f3e769be84e16ee782c6927119ba58.tar.gz |
test: Add tests for topic_command_cb
-rw-r--r-- | _pytest/test_topic_command.py | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/_pytest/test_topic_command.py b/_pytest/test_topic_command.py index 2a4f069..9d9a35e 100644 --- a/_pytest/test_topic_command.py +++ b/_pytest/test_topic_command.py @@ -1,4 +1,6 @@ -from wee_slack import parse_topic_command +import wee_slack +from wee_slack import parse_topic_command, topic_command_cb +from mock import patch def test_parse_topic_without_arguments(): @@ -42,3 +44,53 @@ def test_parse_topic_with_channel_and_delete(): assert channel_name == 'general' assert topic == '' + + +def test_call_topic_without_arguments(realish_eventrouter): + team = realish_eventrouter.teams.values()[-1] + channel = team.channels.values()[-1] + current_buffer = channel.channel_buffer + wee_slack.EVENTROUTER = realish_eventrouter + + command = '/topic' + + with patch('wee_slack.w.prnt') as fake_prnt: + result = topic_command_cb(None, current_buffer, command) + fake_prnt.assert_called_with( + channel.channel_buffer, + 'Topic for {} is "{}"'.format(channel.name, channel.topic), + ) + assert result == wee_slack.w.WEECHAT_RC_OK_EAT + + +def test_call_topic_with_unknown_channel(realish_eventrouter): + team = realish_eventrouter.teams.values()[-1] + channel = team.channels.values()[-1] + current_buffer = channel.channel_buffer + wee_slack.EVENTROUTER = realish_eventrouter + + command = '/topic #nonexisting' + + with patch('wee_slack.w.prnt') as fake_prnt: + result = topic_command_cb(None, current_buffer, command) + fake_prnt.assert_called_with( + team.channel_buffer, + "#nonexisting: No such channel", + ) + assert result == wee_slack.w.WEECHAT_RC_OK_EAT + + +def test_call_topic_with_channel_and_string(realish_eventrouter): + team = realish_eventrouter.teams.values()[-1] + channel = team.channels.values()[-1] + current_buffer = channel.channel_buffer + wee_slack.EVENTROUTER = realish_eventrouter + + command = '/topic #general new topic' + + result = topic_command_cb(None, current_buffer, command) + request = realish_eventrouter.queue[-1] + assert request.request == 'channels.setTopic' + assert request.post_data == { + 'channel': 'C407ABS94', 'token': 'xoxoxoxox', 'topic': 'new topic'} + assert result == wee_slack.w.WEECHAT_RC_OK_EAT |