Skip to content
This repository was archived by the owner on Jun 19, 2019. It is now read-only.

Commit 66cf6b1

Browse files
committed
updated tests
1 parent 99c92af commit 66cf6b1

File tree

2 files changed

+18
-19
lines changed

2 files changed

+18
-19
lines changed

src/app.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,9 @@
1919
# COMMUNITY_CHANNEL = config('PERSONAL_PRIVATE_CHANNEL')
2020

2121
TOKEN = config('OPCODE_APP_TOKEN')
22-
# TOKEN = config('TOKEN')
23-
# COMMUNITY_CHANNEL = config('OPCODE_COMMUNITY_ID')
2422
COMMUNITY_CHANNEL = config('OPCODE_REWRITE_CHANNEL')
2523
PROJECTS_CHANNEL = config('OPCODE_OC_PROJECTS_CHANNEL')
24+
# COMMUNITY_CHANNEL = config('OPCODE_COMMUNITY_ID')
2625

2726
PROXY = PROXY if PROXY else None
2827
slack_client = SlackClient(TOKEN, proxies=PROXY)
@@ -40,9 +39,9 @@ def event_handler(event_dict: dict) -> None:
4039
:param event_dict:
4140
"""
4241
# all_event_logger.info(event_dict)
43-
# if event_dict['type'] == 'team_join':
44-
# new_event_logger.info('New member event recieved')
45-
# new_member(event_dict)
42+
if event_dict['type'] == 'team_join':
43+
new_event_logger.info('New member event recieved')
44+
new_member(event_dict)
4645

4746
""" Trigger for testing team_join event """
4847
if event_dict['type'] == 'message' and 'user' in event_dict.keys() and event_dict['text'] == 'testgreet':
@@ -106,7 +105,7 @@ def new_member(event_dict: dict) -> None:
106105
response = slack_client.api_call('chat.postMessage',
107106
channel=user_id,
108107
# channel=COMMUNITY_CHANNEL, # testing option
109-
# as_user=True,
108+
# as_user=True, # Currently not working. DM comes from my account
110109
text=custom_message)
111110

112111
r2 = slack_client.api_call('chat.postMessage',
@@ -116,9 +115,9 @@ def new_member(event_dict: dict) -> None:
116115
**HELP_MENU)
117116

118117
# Notify #community
119-
# text = f":tada: <@{user_id}> has joined the Slack team :tada:"
120-
# slack_client.api_call('chat.postMessage', channel=COMMUNITY_CHANNEL,
121-
# text=text, attachments=needs_greet_button())
118+
text = f":tada: <@{user_id}> has joined the Slack team :tada:"
119+
slack_client.api_call('chat.postMessage', channel=COMMUNITY_CHANNEL,
120+
text=text, attachments=needs_greet_button())
122121

123122
if response['ok']:
124123
new_event_logger.info('New Member Slack response: Response 1: {} \nResponse2: {}'.format(response, r2))
@@ -161,12 +160,11 @@ def join_channels():
161160

162161

163162
# set the defalt to a 1 second delay
164-
def run_bot(delay: int=1):
163+
def run_bot(delay: int=1) -> None:
165164
"""
166165
Runs the bot using the Slack Real Time Messaging API.
167166
**Doesn't provide events or interactive functionality
168167
:param delay:
169-
:return:
170168
"""
171169
setup_logging()
172170
if slack_client.rtm_connect():

tests/test_basic_functionality.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import logging
55

66
from src import app
7+
from src.messages import HELP_MENU
78
from .test_data import *
89

910

@@ -72,33 +73,33 @@ def test_user_name_from_id_no_name_return_new_member(self, mock_client):
7273
@mock.patch('src.app.build_message', return_value=MESSAGE)
7374
class NewMemberTestCase(unittest.TestCase):
7475

75-
7676
@mock.patch('src.app.slack_client.api_call', return_value={'ok': True, 'info': 'stuff goes here'})
7777
def test_event_logged(self, mock_client, mock_builder, mock_username_from_id):
7878
"""
7979
Asserts messages are being logged properly when new_member is called
8080
"""
8181
with LogCapture() as capture:
82+
message = MESSAGE.format(real_name="bob")
8283
app.new_member(NEW_MEMBER)
8384
capture.check(
8485
('src.app.new_member', 'INFO', 'Recieved json event: {}'.format(NEW_MEMBER)),
8586
('root', 'INFO', 'team_join message'),
86-
('src.app.new_member', 'INFO', 'Built message: {}'.format(MESSAGE)),
87+
('src.app.new_member', 'INFO', 'Built message: {}'.format(message)),
8788
('src.app.new_member', 'INFO',
88-
'New Member Slack response: {}'.format({'ok': True, 'info': 'stuff goes here'}))
89+
'New Member Slack response: Response 1: {res} \nResponse2: {res}'.format(
90+
res={'ok': True, 'info': 'stuff goes here'}))
8991
)
9092

9193
@mock.patch('src.app.slack_client')
9294
def test_slack_client_called_with_correct_params(self, mock_client, mock_builder, mock_unfi):
9395
"""
94-
Asserts new_member calls the client api with correct params.
96+
Asserts new_member calls the client api with correct params for help menu.
9597
"""
9698
with LogCapture() as capture:
9799
app.new_member(NEW_MEMBER)
98-
99-
mock_client.api_call.assert_called_with('chat.postMessage',
100-
channel=NEW_MEMBER['user']['id'],
101-
text=MESSAGE, as_user=True)
100+
mock_client.api_call.assert_any_call('chat.postMessage',
101+
channel=NEW_MEMBER['user']['id'],
102+
**HELP_MENU)
102103

103104
#
104105
@mock.patch('src.app.slack_client.api_call', return_value={'ok': False, 'info': 'stuff goes here'})

0 commit comments

Comments
 (0)