"""Test Setup.""" from decimal import Decimal import os from typing import Any from dotenv import load_dotenv import pytest load_dotenv() os.environ['CONTRACT_BATCH_SIZE'] = '2' os.environ['SNOWFLAKE_DATABASE'] = 'DEV_ENGINEERING' os.environ['SNOWFLAKE_SCHEMA'] = 'TEST' @pytest.fixture def mock_mechanicals_event(): """Mock "commit_mechanicals" abacus_event.""" return { 'abacus_event_id': 1, 'target_type': 'accounting_run', 'target_id': '1', 'event_name': 'commit_mechanicals' } @pytest.fixture def mock_contract_ids_list(): """Mock list of contract ids.""" return ['535946', '535896', '535874'] @pytest.fixture def mock_contracts_snowflake_results(): """Mock contracts snowflake results.""" return [ {'CONTRACT_ID': '535946'}, {'CONTRACT_ID': '535896'}, {'CONTRACT_ID': '535874'} ] @pytest.fixture def mock_mech_deduction_snowflake_results(): """Mock mech deduction snowflake results.""" return [{ 'CONTRACT_ID': '535946', 'ACCOUNT_ID': '67367', 'CURRENCY_CODE': 'USD', 'TOTAL_AMOUNT': Decimal('500684.312478900000') }, { 'CONTRACT_ID': '535896', 'ACCOUNT_ID': '68410', 'CURRENCY_CODE': 'EUR', 'TOTAL_AMOUNT': Decimal('9081.9923891267100') }, { 'CONTRACT_ID': '535874', 'ACCOUNT_ID': '69247', 'CURRENCY_CODE': 'GBP', 'TOTAL_AMOUNT': Decimal('33642.080000000000') }] @pytest.fixture def mock_ledger_accounts() -> list[dict[str, Any]]: """Mock ledger_account records.""" return [{ 'abacus_event_id': 1, 'account_id': '67367', 'contract_id': '535946', 'currency_amount': '500684.32', 'currency_code': 'USD', 'model_type': 'account' }, { 'abacus_event_id': 1, 'account_id': '68410', 'contract_id': '535896', 'currency_amount': '9082.00', 'currency_code': 'EUR', 'model_type': 'account' }, { 'abacus_event_id': 1, 'account_id': '69247', 'contract_id': '535874', 'currency_amount': '33642.08', 'currency_code': 'GBP', 'model_type': 'account' }] @pytest.fixture def mock_ledger_deposits(): """Mock ledger_deposit records.""" return [{ 'abacus_event_id': 1, 'account_id': '67367', 'contract_id': '535946', 'currency_code': 'USD', 'model_type': 'deposit', 'rounded_amount': '500684.32', 'remaining_amount': '-0.007521100000' }, { 'abacus_event_id': 1, 'account_id': '68410', 'contract_id': '535896', 'currency_code': 'EUR', 'model_type': 'deposit', 'rounded_amount': '9082.00', 'remaining_amount': '-0.0076108732900' }]