Esempio n. 1
0
def test_handle_with_fine_text_saves_dynamo_item(event):
    text = '@fake_user_2 $50 for reason'
    event['body'] = utils.set_body_text(event['body'], text)
    event = utils.update_signature(event)

    dynamo.create_fine_table()
    fine.handle(event, {})
    fine_item = dynamo.get_fines(const.TEAM_ID, const.CHANNEL_ID)[0]
    
    assert fine_item['finedBy'] == const.USERNAME
    assert fine_item['text'] == text
    assert fine_item['id'] is not None
    
Esempio n. 2
0
def test_handle_with_fine_text_returns_valid_response(event):
    body_text = '@{} $50 for reason'.format(const.USERNAME_FINED)
    event['body'] = utils.set_body_text(event['body'], body_text)
    event = utils.update_signature(event)
    dynamo.create_fine_table()
    result = fine.handle(event, {})
    assert result['body'] == json.dumps(response.create_fine_response(const.USERNAME_FINED))
Esempio n. 3
0
def test_handle_with_help_text_returns_help(event):
    event['body'] = utils.set_body_text(event['body'], 'help')
    event = utils.update_signature(event)
    result = fine.handle(event, {})
    assert result['body'] == json.dumps(response.create_help_response())
Esempio n. 4
0
def test_handle_with_no_text_returns_fallback(event):
    event['body'] = utils.set_body_text(event['body'], 'invalid_text')
    event = utils.update_signature(event)
    result = fine.handle(event, {})
    assert result['body'] == json.dumps(response.create_fallback_response())
Esempio n. 5
0
def test_handle_sets_headers_and_status_code(event):
    result = fine.handle(event, {})
    assert result['statusCode'] == 200
    assert result['headers']['Content-Type'] == 'application/json'
Esempio n. 6
0
def test_handle_with_unverified_request_returns_401(event):
    event['headers'][const.HEADER_SLACK_SIGNATURE] = 'invalid'
    result = fine.handle(event, {})
    assert result['statusCode'] == 401