"""payment_group_payment_account_detail repository tests.""" from decimal import Decimal from payment.repository import payment_group_payment_account_detail as repository from tests.utils.factories import ( PaymentGroupPaymentAccountDetailFactory, PaymentGroupPaymentBatchAccountFactory, WorksheetAccountContractClosingBalanceFactory, WorksheetPayableBalanceAfterTaxFactory, ) def test_get_by_payment_group_payment_batch( mock_accounts, mock_contracts, mock_abacus_event, mock_ledger_account_contracts ): """Test get_by_payment_group_payment_batch method.""" payment_group_payment_batch_id = 1 worksheet_closing_balance = WorksheetAccountContractClosingBalanceFactory.create() worksheet_after_tax1 = WorksheetPayableBalanceAfterTaxFactory.create( worksheet_account_contract_closing_balance_id=worksheet_closing_balance.worksheet_account_contract_closing_balance_id # noqa: E501 ) detail1 = PaymentGroupPaymentAccountDetailFactory.create( worksheet_account_contract_payable_after_tax_id=worksheet_after_tax1.worksheet_account_contract_payable_after_tax_id, # noqa: E501 ) PaymentGroupPaymentBatchAccountFactory.create( payment_group_payment_account=detail1.payment_group_payment_account ) worksheet_after_tax2 = WorksheetPayableBalanceAfterTaxFactory.create( worksheet_account_contract_closing_balance_id=worksheet_closing_balance.worksheet_account_contract_closing_balance_id # noqa: E501 ) detail2 = PaymentGroupPaymentAccountDetailFactory.create( worksheet_account_contract_payable_after_tax_id=worksheet_after_tax2.worksheet_account_contract_payable_after_tax_id # noqa: E501 ) PaymentGroupPaymentBatchAccountFactory.create( payment_group_payment_account=detail2.payment_group_payment_account ) PaymentGroupPaymentAccountDetailFactory.create( worksheet_account_contract_payable_after_tax_id=worksheet_after_tax1.worksheet_account_contract_payable_after_tax_id, # noqa: E501 payment_group_payment_account=detail1.payment_group_payment_account, payable_amount_post_tax=Decimal('0.00'), ) details_items = repository.get_by_payment_group_payment_batch( payment_group_payment_batch_id ) assert len(details_items) == 1 assert details_items == [detail1]