"""Test ows-payment requests.""" from unittest.mock import MagicMock, patch from owsresponse import response from owsresponse.adaptors.flask import flaskify from payments_posted.ows_payment import get_payment_group_payment_payee SERVICE = 'ows-payment' @patch('payments_posted.ows_payment.get') @patch('payments_posted.ows_payment.raise_payment_error') def test_get_payment_group_payment_success(mock_raise_service_error, mock_get): """Test successfully getting payment_group_payment detail.""" payment_group_payment_id = 12 mock_json = { 'note': 'test', 'current_balance': '667686.00', 'payment_group_payment_id': payment_group_payment_id, 'percent_difference': '56%', 'payee_id': 123, 'last_payment': '0.00', 'currency_name': 'Canadian Dollar', 'contract_id': 231, 'payment_difference': '6676.00', 'payment_group_payment_payee_id': 17, 'currency_code': 'CAD', 'payee_name': '(SME Sweden) GMG Sweden AB' } mock_response = MagicMock() mock_response.status_code = 200 mock_response.json.return_value = mock_json mock_get.return_value = mock_response res = get_payment_group_payment_payee(payment_group_payment_id) assert res['payment_group_payment_id'] == payment_group_payment_id assert res['currency_code'] == mock_json['currency_code'] mock_get.assert_called_once_with( 'ows-payment', f'/payment-group-payment/{payment_group_payment_id}/payees' ) mock_raise_service_error.assert_not_called() @patch('payments_posted.ows_payment.get') @patch('payments_posted.ows_payment.raise_payment_error') def test_get_payment_group_payment_failure(mock_raise_service_error, mock_get): """Test failure getting payment_group_payment detail.""" payment_group_payment_id = 12 mock_get.return_value = flaskify(response.create_error_response( code='error', message='ID IS NOT VALID', status=400 )) res = get_payment_group_payment_payee(payment_group_payment_id) assert res is None mock_raise_service_error.assert_called_once_with( f'ERROR in GET /payment-group-payment/{payment_group_payment_id}/payees' )