def test_transactions_parse_none(transactions_json): client = FioBank('...') api_transaction = transactions_json['accountStatement']['transactionList']['transaction'][0] # NOQA sdk_transaction = list(client._parse_transactions(transactions_json))[0] assert api_transaction['column10'] is None assert sdk_transaction['account_name'] is None
def test_transactions_parse_convert(transactions_json): client = FioBank('...') api_transaction = transactions_json['accountStatement']['transactionList']['transaction'][0] # NOQA api_transaction['column0'] = {'value': '2015-08-30'} sdk_transaction = list(client._parse_transactions(transactions_json))[0] assert sdk_transaction['date'] == date(2015, 8, 30)
def test_transactions_parse_unsanitized(transactions_json): client = FioBank('...') api_transaction = transactions_json['accountStatement']['transactionList']['transaction'][0] # NOQA api_transaction['column10'] = {'value': ' Honza\n'} sdk_transaction = list(client._parse_transactions(transactions_json))[0] assert sdk_transaction['account_name'] == 'Honza'
def test_transactions_parse_no_account_number_full(transactions_json): client = FioBank('...') api_transaction = transactions_json['accountStatement']['transactionList']['transaction'][0] # NOQA api_transaction['column2'] = {'value': 10000000002} api_transaction['column3'] = {'value': None} sdk_transaction = list(client._parse_transactions(transactions_json))[0] assert sdk_transaction['account_number_full'] is None
def test_transactions_parse_missing(transactions_json): client = FioBank('...') api_transaction = transactions_json['accountStatement']['transactionList']['transaction'][0] # NOQA del api_transaction['column10'] sdk_transaction = list(client._parse_transactions(transactions_json))[0] assert 'column10' not in api_transaction assert sdk_transaction['account_name'] is None
def test_transactions_parse_amount(transactions_json, test_input, amount, currency): client = FioBank('...') api_transaction = transactions_json['accountStatement']['transactionList']['transaction'][0] # NOQA api_transaction['column18'] = {'value': test_input} sdk_transaction = list(client._parse_transactions(transactions_json))[0] assert sdk_transaction['specification'] == test_input assert sdk_transaction['original_amount'] == amount assert sdk_transaction['original_currency'] == currency
def test_transactions_parse(transactions_json, api_key, sdk_key, sdk_type): client = FioBank('...') api_transactions = transactions_json['accountStatement'][ 'transactionList']['transaction'] # NOQA # The 'transactions.json' file is based on real data, so it doesn't # contain some values. To test all values, we use dummy data here. dummy_mapping = {'column0': '2015-08-30'} dummy_default = 30.8 for api_transaction in api_transactions: dummy_value = dummy_mapping.get(api_key, dummy_default) api_transaction[api_key] = {'value': dummy_value} sdk_transactions = list(client._parse_transactions(transactions_json)) assert len(sdk_transactions) == len(api_transactions) for i in range(len(api_transactions)): api_transaction = api_transactions[i] sdk_transaction = sdk_transactions[i] assert (sdk_transaction[sdk_key] == sdk_type( api_transaction[api_key]['value']))
def test_transactions_parse(transactions_json, api_key, sdk_key, sdk_type): client = FioBank('...') api_transactions = transactions_json['accountStatement']['transactionList']['transaction'] # NOQA # The 'transactions.json' file is based on real data, so it doesn't # contain some values. To test all values, we use dummy data here. dummy_mapping = {'column0': '2015-08-30'} dummy_default = 30.8 for api_transaction in api_transactions: dummy_value = dummy_mapping.get(api_key, dummy_default) api_transaction[api_key] = {'value': dummy_value} sdk_transactions = list(client._parse_transactions(transactions_json)) assert len(sdk_transactions) == len(api_transactions) for i in range(len(api_transactions)): api_transaction = api_transactions[i] sdk_transaction = sdk_transactions[i] assert ( sdk_transaction[sdk_key] == sdk_type(api_transaction[api_key]['value']) )