コード例 #1
0
def test_react_output_two_reacts(url, user_1, public_channel_1, default_message):
    """(Assumption testing): Test when if a user switches reacts (i.e. react 
    with thumbs up then react to thumbs down), this behavior should not raise any
    errors. However, only the thumbs down react should only be active due to the
    assumption.
    """
    request_message_react(url, user_1['token'], default_message['message_id'], THUMBS_UP)
    channel_details = request_channel_messages(url, user_1['token'], public_channel_1['channel_id'], 0).json()
    message_details = channel_details['messages'][0]
    assert message_details['reacts'][0]['react_id'] == THUMBS_UP
    assert message_details['reacts'][0]['u_ids'] == [user_1['u_id']]
    assert message_details['reacts'][0]['is_this_user_reacted'] == True

    assert message_details['reacts'][1]['u_ids'] == []
    assert message_details['reacts'][1]['is_this_user_reacted'] == False

    request_message_react(url, user_1['token'], default_message['message_id'], THUMBS_DOWN)
    channel_details = request_channel_messages(url, user_1['token'], public_channel_1['channel_id'], 0).json()
    message_details = channel_details['messages'][0]
    assert message_details['reacts'][1]['react_id'] == THUMBS_DOWN
    assert message_details['reacts'][1]['u_ids'] == [user_1['u_id']]
    assert message_details['reacts'][1]['is_this_user_reacted'] == True

    assert message_details['reacts'][0]['u_ids'] == []
    assert message_details['reacts'][0]['is_this_user_reacted'] == False
コード例 #2
0
def test_standup_send_working_example(url, user_1, user_2, user_3,
                                      public_channel_1):
    """Testing when standup send is working, via message collation
    """
    assert request_channel_invite(url, user_1['token'],
                                  public_channel_1['channel_id'],
                                  user_2['u_id']).json() == {}
    assert request_channel_invite(url, user_2['token'],
                                  public_channel_1['channel_id'],
                                  user_3['u_id']).json() == {}

    standup_duration = 2
    curr_time = int(datetime.now(tz=timezone.utc).timestamp())
    information = request_standup_start(url, user_1['token'],
                                        public_channel_1['channel_id'],
                                        standup_duration).json()
    assert (curr_time + standup_duration - STANDUP_DELAY) <= information['time_finish'] and\
    information['time_finish'] <= (curr_time + standup_duration + STANDUP_DELAY)

    on_list = False
    user_one_handle = request_user_details(
        url, user_1['token'], user_1['u_id']).json()['user']['handle_str']
    assert request_standup_send(url, user_1['token'],
                                public_channel_1['channel_id'],
                                'Pizza!').json() == {}
    message_data = request_channel_messages(url, user_1['token'],
                                            public_channel_1['channel_id'],
                                            0).json()
    for messages in message_data['messages']:
        if messages['message'] == f'{user_one_handle}: Pizza!':
            on_list = True
    assert not on_list

    assert request_standup_send(url, user_2['token'],
                                public_channel_1['channel_id'],
                                'Water!').json() == {}
    assert request_standup_send(url, user_3['token'],
                                public_channel_1['channel_id'],
                                'Melon!').json() == {}
    time.sleep(4)

    on_list = False
    user_two_handle = request_user_details(
        url, user_2['token'], user_2['u_id']).json()['user']['handle_str']
    user_three_handle = request_user_details(
        url, user_3['token'], user_3['u_id']).json()['user']['handle_str']
    message_data = request_channel_messages(url, user_1['token'],
                                            public_channel_1['channel_id'],
                                            0).json()
    for messages in message_data['messages']:
        if messages[
                'message'] == f'{user_one_handle}: Pizza!\n{user_two_handle}: Water!\n{user_three_handle}: Melon!':
            on_list = True
    assert on_list
    requests.delete(f'{url}/clear')
コード例 #3
0
def test_react_output_unreact_two_react(url, user_1, public_channel_1, default_message):
    """Test when a user reacts a message, then unreacts, then reacts the same
    message with a different react_id
    """
    request_message_react(url, user_1['token'], default_message['message_id'], THUMBS_UP)
    channel_details = request_channel_messages(url, user_1['token'], public_channel_1['channel_id'], 0).json()
    message_details = channel_details['messages'][0]
    assert message_details['reacts'][0]['react_id'] == THUMBS_UP
    assert message_details['reacts'][0]['u_ids'] == [user_1['u_id']]
    assert message_details['reacts'][0]['is_this_user_reacted'] == True

    assert message_details['reacts'][1]['u_ids'] == []
    assert message_details['reacts'][1]['is_this_user_reacted'] == False

    request_message_unreact(url, user_1['token'], default_message['message_id'], THUMBS_UP)
    channel_details = request_channel_messages(url, user_1['token'], public_channel_1['channel_id'], 0).json()
    message_details = channel_details['messages'][0]
    assert message_details['reacts'][0]['react_id'] == THUMBS_UP
    assert message_details['reacts'][0]['u_ids'] == []
    assert message_details['reacts'][0]['is_this_user_reacted'] == False

    assert message_details['reacts'][1]['u_ids'] == []
    assert message_details['reacts'][1]['is_this_user_reacted'] == False

    request_message_react(url, user_1['token'], default_message['message_id'], THUMBS_DOWN)
    channel_details = request_channel_messages(url, user_1['token'], public_channel_1['channel_id'], 0).json()
    message_details = channel_details['messages'][0]
    assert message_details['reacts'][1]['react_id'] == THUMBS_DOWN
    assert message_details['reacts'][1]['u_ids'] == [user_1['u_id']]
    assert message_details['reacts'][1]['is_this_user_reacted'] == True

    assert message_details['reacts'][0]['u_ids'] == []
    assert message_details['reacts'][0]['is_this_user_reacted'] == False

    request_message_unreact(url, user_1['token'], default_message['message_id'], THUMBS_DOWN)
    channel_details = request_channel_messages(url, user_1['token'], public_channel_1['channel_id'], 0).json()
    message_details = channel_details['messages'][0]
    assert message_details['reacts'][0]['react_id'] == THUMBS_UP
    assert message_details['reacts'][0]['u_ids'] == []
    assert message_details['reacts'][0]['is_this_user_reacted'] == False

    assert message_details['reacts'][1]['u_ids'] == []
    assert message_details['reacts'][1]['is_this_user_reacted'] == False
コード例 #4
0
def test_react_output_another_user_thumbs_down(url, user_1, user_2, public_channel_1, default_message):
    """Test if another user can react a message created by another user (thumbs down).
    """
    request_channel_invite(url, user_1['token'], public_channel_1['channel_id'], user_2['u_id'])
    request_message_react(url, user_2['token'], default_message['message_id'], THUMBS_DOWN)
    channel_details = request_channel_messages(url, user_2['token'], public_channel_1['channel_id'], 0).json()
    message_details = channel_details['messages'][0]
    assert message_details['reacts'][1]['react_id'] == THUMBS_DOWN
    assert message_details['reacts'][1]['u_ids'] == [user_2['u_id']]
    assert message_details['reacts'][1]['is_this_user_reacted'] == True
    assert message_details['reacts'][0]['u_ids'] == []
コード例 #5
0
def test_react_output_is_this_user_reacted_false_thumbs_down(url, user_1, user_2, public_channel_1, default_message):
    """Test is_this_user_reacted field is false for another user that has not
    reacted to a message that has been reacted by another user (thumbs down).
    """
    request_channel_invite(url, user_1['token'], public_channel_1['channel_id'], user_2['u_id'])
    request_message_react(url, user_2['token'], default_message['message_id'], THUMBS_DOWN)
    channel_details = request_channel_messages(url, user_1['token'], public_channel_1['channel_id'], 0).json()
    message_details = channel_details['messages'][0]
    assert message_details['reacts'][1]['react_id'] == THUMBS_DOWN
    assert message_details['reacts'][1]['u_ids'] == [user_2['u_id']]
    assert message_details['reacts'][1]['is_this_user_reacted'] == False
    assert message_details['reacts'][0]['u_ids'] == []
コード例 #6
0
def test_react_output_user_leaves_state_thumbs_down(url, user_1, user_2, public_channel_1, thumbs_down_default_message):
    """(Assumption testigng): Test when a user leaves that all the messages that
    they reacted previously persist in the channel details. (thumbs down)
    """
    request_channel_invite(url, user_1['token'], public_channel_1['channel_id'], user_2['u_id'])
    request_channel_leave(url, user_1['token'], public_channel_1['channel_id'])
    channel_details = request_channel_messages(url, user_2['token'], public_channel_1['channel_id'], 0).json()
    message_details = channel_details['messages'][0]
    assert message_details['reacts'][0]['react_id'] == THUMBS_UP
    assert message_details['reacts'][0]['u_ids'] == []
    assert message_details['reacts'][0]['is_this_user_reacted'] == False

    assert message_details['reacts'][1]['u_ids'] == [user_1['u_id']]
    assert message_details['reacts'][1]['is_this_user_reacted'] == False
コード例 #7
0
def test_react_output_multiple_users_react(url, user_1, user_2, user_3, user_4, public_channel_1, default_message):
    """Testing process where multiple users likes and dislike a message
    """
    request_channel_invite(url, user_1['token'], public_channel_1['channel_id'], user_2['u_id'])
    request_channel_invite(url, user_1['token'], public_channel_1['channel_id'], user_3['u_id'])
    request_channel_invite(url, user_1['token'], public_channel_1['channel_id'], user_4['u_id'])

    request_message_react(url, user_1['token'], default_message['message_id'], THUMBS_UP)
    request_message_react(url, user_2['token'], default_message['message_id'], THUMBS_UP)
    request_message_react(url, user_3['token'], default_message['message_id'], THUMBS_DOWN)
    request_message_react(url, user_4['token'], default_message['message_id'], THUMBS_UP)

    channel_details = request_channel_messages(url, user_1['token'], public_channel_1['channel_id'], 0).json()
    message_details = channel_details['messages'][0]
    assert message_details['reacts'][0]['react_id'] == THUMBS_UP
    assert sorted(message_details['reacts'][0]['u_ids']) == sorted([user_1['u_id'], user_2['u_id'], user_4['u_id']])
    assert message_details['reacts'][0]['is_this_user_reacted'] == True

    assert message_details['reacts'][1]['react_id'] == THUMBS_DOWN
    assert sorted(message_details['reacts'][1]['u_ids']) == [user_3['u_id']]
    assert message_details['reacts'][1]['is_this_user_reacted'] == False
コード例 #8
0
def test_standup_start_working_example(url, user_1, user_2, user_3,
                                       public_channel_1):
    """Testing when standup is working, via message collation
    """
    assert request_channel_invite(url, user_1['token'],
                                  public_channel_1['channel_id'],
                                  user_2['u_id']).json() == {}
    assert request_channel_invite(url, user_2['token'],
                                  public_channel_1['channel_id'],
                                  user_3['u_id']).json() == {}

    standup_duration = 2
    curr_time = int(datetime.now(tz=timezone.utc).timestamp())
    information = request_standup_start(url, user_1['token'],
                                        public_channel_1['channel_id'],
                                        standup_duration).json()
    assert (curr_time + standup_duration -
            STANDUP_DELAY) <= information['time_finish']
    assert information['time_finish'] <= (curr_time + standup_duration +
                                          STANDUP_DELAY)

    payload = request_standup_active(url, user_1['token'],
                                     public_channel_1['channel_id']).json()
    assert payload['is_active'] == True

    on_list = False
    user_one_handle = request_user_details(
        url, user_1['token'], user_1['u_id']).json()['user']['handle_str']
    assert request_standup_send(url, user_1['token'],
                                public_channel_1['channel_id'],
                                'Hey guys!').json() == {}
    message_data = request_channel_messages(url, user_1['token'],
                                            public_channel_1['channel_id'],
                                            0).json()
    for messages in message_data['messages']:
        if messages['message'] == f'{user_one_handle}: Hey guys!':
            on_list = True
    assert not on_list

    on_list = False
    user_two_handle = request_user_details(
        url, user_2['token'], user_2['u_id']).json()['user']['handle_str']
    assert request_standup_send(url, user_2['token'],
                                public_channel_1['channel_id'],
                                'Its working!').json() == {}
    message_data = request_channel_messages(url, user_1['token'],
                                            public_channel_1['channel_id'],
                                            0).json()
    for messages in message_data['messages']:
        if messages[
                'message'] == f'{user_one_handle}: Hey guys!\n{user_two_handle}: Its working!':
            on_list = True
    assert not on_list

    assert request_standup_send(url, user_3['token'],
                                public_channel_1['channel_id'],
                                'Wohoo!').json() == {}
    payload = request_standup_active(url, user_1['token'],
                                     public_channel_1['channel_id']).json()
    assert payload['is_active'] == True

    time.sleep(4)
    payload = request_standup_active(url, user_1['token'],
                                     public_channel_1['channel_id']).json()
    assert payload['is_active'] == False

    on_list = False
    user_three_handle = request_user_details(
        url, user_3['token'], user_3['u_id']).json()['user']['handle_str']
    message_data = request_channel_messages(url, user_1['token'],
                                            public_channel_1['channel_id'],
                                            0).json()
    for messages in message_data['messages']:
        if messages[
                'message'] == f'{user_one_handle}: Hey guys!\n{user_two_handle}: Its working!\n{user_three_handle}: Wohoo!':
            on_list = True
    assert on_list
    requests.delete(f'{url}/clear')