"""Account contract model tests.""" from moneyhub.models.account_contract import AccountContract from tests.unit.conftest import insert_mock_account from tests.unit.conftest import insert_mock_account_contracts from tests.unit.conftest import insert_mock_account_payment_terms from tests.unit.conftest import insert_mock_contracts from tests.unit.conftest import insert_mock_reference_payment_entity from tests.unit.conftest import insert_mock_reference_sap_profit_center from tests.unit.conftest import insert_mock_reference_signing_entity def test_get_contracts_by_payment_entity(): """Test getting contracts by payment entity.""" payment_entity_id = 1 insert_mock_account(account_id=1) insert_mock_account(account_id=2) insert_mock_reference_payment_entity() insert_mock_reference_signing_entity() insert_mock_reference_sap_profit_center() insert_mock_contracts() insert_mock_account_payment_terms() insert_mock_account_contracts() contracts = AccountContract.get_contracts_by_payment_entity( payment_entity_id ) assert len(contracts) == 4 assert contracts[0]._asdict() == { 'contract_id': 1, 'account_id': 1, 'company_code': '1234', 'tax_entity_company_code': '1234' } def test_get_by_account(): """Test getting contracts by account.""" insert_mock_account(account_id=1) insert_mock_account(account_id=2) insert_mock_contracts() insert_mock_account_contracts() contracts = AccountContract.get_by_account(1) assert len(contracts) == 3 assert contracts == [1, 2, 3]