"""Test Bulk Ledger handlers.""" from unittest.mock import call, patch from owsresponse import response from owsresponse.adaptors.flask import flaskify @patch('ledger.blueprints.bulk_ledgers.logic') def test_bulk_account_create_ledgers(mock_logic, fixture_client): """Test endpoint passes request body to logic layer.""" mock_logic.handle_bulk_insert.return_value = None res = fixture_client.post('ledger/bulk', json=[]) assert res.status_code == 201 assert res.data == b'{"message": "OK"}' mock_logic.handle_bulk_insert.assert_called_once() @patch('ledger.blueprints.bulk_ledgers.logic') def test_get_contracts_balances(mock_logic, fixture_client): """Test endpoint /bulk/contracts/closed-balance.""" test_data = [ { 'ledger_account_contract_id': 1, 'account_id': 1, 'contract_id': 1, 'current_balance': '100.02', 'currency_code': 'USD', } ] mock_logic.get_contracts_balance.return_value = flaskify( response.Response(status=200, message=test_data) ) res = fixture_client.get('/bulk/contracts/closed-balance?contract_ids=1,2') assert res.status_code == 200 assert res.json == test_data assert mock_logic.get_contracts_balance.call_args_list == [ call(contract_ids=[1, 2], account_ids=None) ]