from helpers.helper_functions import * from unittest.mock import patch import pytest def test_get_amount_from_string(): # bad string string = 'some-random-string' return_value = get_amount_from_string(string) assert return_value == None # good string = '166.35' return_value = get_amount_from_string(string) assert return_value == 166.35 # no periods string = '50' return_value = get_amount_from_string(string) assert return_value == 50 # too many periods string = '16.6.35.853' return_value = get_amount_from_string(string) assert return_value == None # with comma string = '1,293.65' return_value = get_amount_from_string(string) assert return_value == None def test_get_date_from_string(): # string w/out a date string = 'some-random-string' return_value = get_date_from_string(string) assert return_value == None # invalid date string = '2020-15-200' return_value = get_date_from_string(string) assert return_value == None # valid date string = '2024-08-06' return_value = get_date_from_string(string) assert return_value == datetime(year=2024, month=8, day=6) def test_get_string_from_date(): # valid date date = datetime(2024,12,2) return_value = get_string_from_date(date) assert return_value == '2024-12-2' def test_create_encrypted_string(): string = 'hello' return_value = create_encrypted_string(string) assert return_value != 'hello' assert return_value == '2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824' def test_json_success_response(): test_data = {} test_code = 200 return_value = json_success_response(test_data) assert return_value == { 'status': 'SUCCESS', 'status_code': test_code, "data": test_data, } @patch('flask.abort') def test_json_error_response(mock_abort): test_string = 'THIS IS A TEST ERROR' test_code = 404 with pytest.raises(Exception): json_error_response(test_string, test_code) mock_abort.assert_called_with(test_string, test_code)