"""Shared test fixtures for earnings transfer.""" from __future__ import annotations from pytest import fixture from src.enums import TransferType from src.types import ContractData, ContractRef, TransferRecord @fixture def transfer_record() -> TransferRecord: """Fully populated transfer record (override type).""" return TransferRecord( earnings_transfer_id=1, transfer_type=TransferType.OVERRIDE, from_contract=ContractRef( account_name='From Acct', account_id=1, contract_name='From Ctr', contract_id=100, ), to_contract=ContractRef( account_name='To Acct', account_id=2, contract_name='To Ctr', contract_id=200, ), transfer_amount=0.5, closing_balance=1000.0, currency='USD', activity_month=3, activity_year=2026, statement_month=3, statement_year=2026, ) @fixture def contract_data() -> ContractData: """Known contract with all balance fields.""" return ContractData( account_id=1, account_name='Test Account', contract_name='Test Contract', currency='USD', closing_balance=500.0, gross_revenue=1000.0, net_revenue=800.0, prior_closing_balance=450.0, )