"""Test ows-payee requests.""" from unittest.mock import MagicMock, patch from owsresponse import response from owsresponse.adaptors.flask import flaskify from payments_generate.ows_payee import get_eligible_payees @patch('payments_generate.ows_payee.get') @patch('payments_generate.ows_payee.raise_payee_error') def test_get_eligible_payees_success(mock_raise_service_error, mock_get): """Test successfully getting eligible payees.""" payment_group_id = 33 mock_json = { 'items': [ {'payee_id': 123, 'currency_code': 'USD', 'current_balance': '1000.00'}, {'payee_id': 321, 'currency_code': 'CAD', 'current_balance': '300.00'}, ] } mock_response = MagicMock() mock_response.json.return_value = mock_json mock_response.status_code = 200 mock_get.return_value = mock_response res = get_eligible_payees(payment_group_id) assert len(res) == 2 mock_get.assert_called_once_with( 'ows-payee', f'/eligible-payees?payment_group_id={payment_group_id}' ) mock_raise_service_error.assert_not_called() @patch('payments_generate.ows_payee.get') @patch('payments_generate.ows_payee.raise_payee_error') def test_get_eligibile_payees_failure(mock_raise_service_error, mock_get): """Test failure getting eligible payees.""" payment_group_id = 33 mock_response = response.create_error_response( code='error', message='NOT TODAY!', status=400 ) mock_get.return_value = flaskify(mock_response) res = get_eligible_payees(payment_group_id) assert res is None mock_raise_service_error.assert_called_once_with( 'ERROR in GET /eligible-payees/', payment_group_id=payment_group_id )