From de580c2cefb7f4cfc0094521d625f36c00852305 Mon Sep 17 00:00:00 2001 From: Jose Alberto Hernandez Date: Mon, 9 Jun 2025 16:35:47 -0500 Subject: [PATCH] FINERACT-2232: Add missing fields on the Capitalized Income and Adjustment transactions --- .../CapitalizedIncomeWritePlatformServiceImpl.java | 13 ++++++++++--- .../integrationtests/LoanCapitalizedIncomeTest.java | 10 +++++++++- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/CapitalizedIncomeWritePlatformServiceImpl.java b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/CapitalizedIncomeWritePlatformServiceImpl.java index 9e51018a5..2df2b7d2b 100644 --- a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/CapitalizedIncomeWritePlatformServiceImpl.java +++ b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/CapitalizedIncomeWritePlatformServiceImpl.java @@ -104,6 +104,9 @@ public class CapitalizedIncomeWritePlatformServiceImpl implements CapitalizedInc return new CommandProcessingResultBuilder() // .withEntityId(capitalizedIncomeTransaction.getId()) // .withEntityExternalId(capitalizedIncomeTransaction.getExternalId()) // + .withOfficeId(loan.getOfficeId()) // + .withClientId(loan.getClientId()) // + .withLoanId(loan.getId()) // .build(); } @@ -150,9 +153,13 @@ public class CapitalizedIncomeWritePlatformServiceImpl implements CapitalizedInc MathUtil.negativeToZero(capitalizedIncomeBalance.getUnrecognizedAmount().subtract(transactionAmount))); capitalizedIncomeBalanceRepository.save(capitalizedIncomeBalance); - return new CommandProcessingResultBuilder().withLoanId(loan.getId()).withLoanExternalId(loan.getExternalId()) - .withEntityId(savedCapitalizedIncomeAdjustment.getId()) - .withEntityExternalId(savedCapitalizedIncomeAdjustment.getExternalId()).build(); + return new CommandProcessingResultBuilder() // + .withEntityId(savedCapitalizedIncomeAdjustment.getId()) // + .withEntityExternalId(savedCapitalizedIncomeAdjustment.getExternalId()) // + .withOfficeId(loan.getOfficeId()) // + .withClientId(loan.getClientId()) // + .withLoanId(loan.getId()) // + .build(); } private void recalculateLoanTransactions(Loan loan, LocalDate transactionDate, LoanTransaction transaction) { diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanCapitalizedIncomeTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanCapitalizedIncomeTest.java index a71edc580..28b18e112 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanCapitalizedIncomeTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanCapitalizedIncomeTest.java @@ -18,6 +18,7 @@ */ package org.apache.fineract.integrationtests; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; import java.math.BigDecimal; @@ -165,7 +166,11 @@ public class LoanCapitalizedIncomeTest extends BaseLoanIntegrationTest { "1 January 2024", 50.0); capitalizedIncomeIdRef.set(capitalizedIncomeResponse.getResourceId()); - loanTransactionHelper.capitalizedIncomeAdjustment(loanId, capitalizedIncomeIdRef.get(), "1 April 2024", 50.0); + PostLoansLoanIdTransactionsResponse capitalizedIncomeAdjustmentResponse = loanTransactionHelper + .capitalizedIncomeAdjustment(loanId, capitalizedIncomeIdRef.get(), "1 April 2024", 50.0); + assertNotNull(capitalizedIncomeAdjustmentResponse.getLoanId()); + assertNotNull(capitalizedIncomeAdjustmentResponse.getClientId()); + assertNotNull(capitalizedIncomeAdjustmentResponse.getOfficeId()); verifyTransactions(loanId, // transaction(100.0, "Disbursement", "01 January 2024"), // @@ -409,6 +414,9 @@ public class LoanCapitalizedIncomeTest extends BaseLoanIntegrationTest { disburseLoan(loanId, BigDecimal.valueOf(100), "1 January 2024"); PostLoansLoanIdTransactionsResponse capitalizedIncomeResponse = loanTransactionHelper.addCapitalizedIncome(loanId, "1 January 2024", 100.0); + assertNotNull(capitalizedIncomeResponse.getLoanId()); + assertNotNull(capitalizedIncomeResponse.getClientId()); + assertNotNull(capitalizedIncomeResponse.getOfficeId()); capitalizedIncomeIdRef.set(capitalizedIncomeResponse.getResourceId()); // random midday COB run