"""Unit tests for Ledger Adjustment handlers.""" from unittest.mock import patch from owsresponse import response @patch('ledger.blueprints.ledger_adjustment.logic') def test_get_pending_ledger_adjustments_by_statement_period_id( mock_logic, fixture_client ): """Test to get pending ledger adjustments by statement period id.""" statement_period_id = 1 mock_response = { 'items': [ { 'ledger_adjustment_id': 1, 'abacus_event_id': 1, 'account_id': 1, 'contract_id': 1, 'activity_statement_period_id': 1, 'apply_to_statement_period_id': 2, 'reference_adjustment_type_id': 1, 'adjustment_amount': '125.42', 'adjustment_currency_code': 'USD', 'note': 'informative message', } ], 'total_count': 1, } mock_logic.get_pending_ledger_adjustments_by_statement_period_id.return_value = ( response.Response(message=mock_response, status=200) ) res = fixture_client.get( f'/ledger-adjustment/statement-period/{statement_period_id}/pending' ) assert res.status_code == 200 assert res.json == mock_response mock_logic.get_pending_ledger_adjustments_by_statement_period_id.assert_called_once() @patch('ledger.blueprints.ledger_adjustment.logic') def test_get_ledger_adjustments(mock_logic, fixture_client): """Test to get a list of ledger adjustments.""" mock_response = { 'items': [ { 'ledger_adjustment_id': 10, 'account_id': 35968, 'activity_statement_period_id': 260, 'adjustment_ledger_status': 'Applied', 'adjustment_amount': '101.00', 'adjustment_currency_code': 'AUD', 'apply_to_statement_period_id': 269, 'contract_id': 5, 'note': None, } ], 'total_count': 1, } mock_logic.get_ledger_adjustments.return_value = response.Response( message=mock_response, status=200 ) res = fixture_client.get('/ledger-adjustments/?limit=1&offset=0') assert res.status_code == 200 assert res.json == mock_response mock_logic.get_ledger_adjustments.assert_called_once()