"""Tests for account_payee logic.""" from payee.logic import account_payee as logic from tests.utils.factories import AccountPayeeFactory class TestGetAccountPayeesByIds: """Tests for get_account_payees_by_ids function.""" def test_get_account_payees_by_ids_success(self): """Test getting account payees by IDs returns a dictionary.""" # Create test data payee1 = AccountPayeeFactory.create( account_payee_id=100, payment_description='Payment for services' ) payee2 = AccountPayeeFactory.create( account_payee_id=101, payment_description='Monthly invoice' ) AccountPayeeFactory.create(account_payee_id=102) # Not requested # Call the function result = logic.get_account_payees_by_ids([100, 101]) # Verify results assert len(result) == 2 assert 100 in result assert 101 in result assert result[100].account_payee_id == 100 assert result[100].payment_description == 'Payment for services' assert result[101].account_payee_id == 101 assert result[101].payment_description == 'Monthly invoice' def test_get_account_payees_by_ids_empty_list(self): """Test with empty list returns empty dictionary.""" result = logic.get_account_payees_by_ids([]) assert result == {} def test_get_account_payees_by_ids_not_found(self): """Test when no payees are found returns empty dictionary.""" AccountPayeeFactory.create(account_payee_id=100) result = logic.get_account_payees_by_ids([200, 201]) assert result == {} def test_get_account_payees_by_ids_partial_match(self): """Test when only some IDs are found.""" payee1 = AccountPayeeFactory.create( account_payee_id=100, payment_description='Test payment' ) result = logic.get_account_payees_by_ids([100, 999]) assert len(result) == 1 assert 100 in result assert 999 not in result assert result[100].payment_description == 'Test payment'