"""Unit tests for Ledger Reserve Taken handlers.""" from unittest.mock import patch from owsresponse import response @patch('ledger.blueprints.ledger_reserve_taken.logic') def test_bulk_create_ledger_reserve_taken_entries( mock_logic, mock_bulk_ledger_reserve_taken_body, fixture_client ): """Test to create bulk entries for ledger_reserve_taken.""" json_body = mock_bulk_ledger_reserve_taken_body mock_logic.bulk_create.return_value = response.Response(message='OK', status=201) res = fixture_client.post('/ledger-reserve-taken/bulk/', json=json_body) assert res.status_code == 201 mock_logic.bulk_create.assert_called_once_with(json_body) @patch('ledger.blueprints.ledger_reserve_taken.logic') def test_get_ledger_reserve_taken_by_accounting_run_id(mock_logic, fixture_client): """Test to get list of Ledger Reserve Taken by accounting run id.""" accounting_run_id = 1 mock_response = [ { 'ledger_reserve_taken_id': 1, 'abacus_event_id': 1, 'accounting_run_id': 1, 'contract_reserve_id': 1, 'statement_period_id': 1, 'currency_code': 'AUD', 'gross_sales': '143.00', 'gross_returns': '-30.00', 'net_revenue': '80.10', 'reserve_amount': '-50.00', 'net_revenue_after_reserve': '30.10', } ] mock_logic.get_ledger_reserve_taken_by_accounting_run_id.return_value = ( response.Response(message=mock_response, status=200) ) res = fixture_client.get( f'/ledger-reserve-taken/accounting-run/{accounting_run_id}' ) assert res.status_code == 200 assert res.json == mock_response mock_logic.get_ledger_reserve_taken_by_accounting_run_id.assert_called_once() @patch('ledger.blueprints.ledger_reserve_taken.logic') def test_debit_reserves_from_ledger_account_by_run(mock_logic, fixture_client): """Test to debit reserves from ledger_account for ledger_reserve_taken entries.""" accounting_run_id = 1 mock_logic.debit_reserves_from_ledger_account_by_run.return_value = ( response.Response(message='OK', status=201) ) res = fixture_client.post( f'/ledger-reserve-taken/accounting-run/{accounting_run_id}' ) assert res.status_code == 201 mock_logic.debit_reserves_from_ledger_account_by_run.assert_called_once()