FINERACT-2181: Add missing swagger definition for addAndDeleteDisbursementDetail request

This commit is contained in:
adam.magyari
2025-05-13 09:39:42 +02:00
committed by Adam Saghy
parent 8488918b3b
commit e7b6722e54
5 changed files with 77 additions and 8 deletions
@@ -20,9 +20,9 @@ package org.apache.fineract.integrationtests;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import org.apache.fineract.client.models.DisbursementDetail;
import org.apache.fineract.client.models.GetLoansLoanIdDisbursementDetails;
import org.apache.fineract.client.models.GetLoansLoanIdResponse;
import org.apache.fineract.client.models.PostClientsResponse;
@@ -64,15 +64,14 @@ public class ProgressiveLoanTrancheTest extends BaseLoanIntegrationTest {
final GetLoansLoanIdResponse loanDetails = loanTransactionHelper.getLoanDetails(loanId);
List<HashMap> tranches = new ArrayList<>();
ArrayList<DisbursementDetail> disbursementDetails = new ArrayList<>();
for (GetLoansLoanIdDisbursementDetails disbursementDetail : loanDetails.getDisbursementDetails()) {
tranches.add(loanTransactionHelper.createTrancheDetail(disbursementDetail.getId().toString(),
dateTimeFormatter.format(disbursementDetail.getExpectedDisbursementDate()),
disbursementDetail.getPrincipal().toString()));
disbursementDetails.add(new DisbursementDetail().id(disbursementDetail.getId()).principal(disbursementDetail.getPrincipal())
.expectedDisbursementDate(dateTimeFormatter.format(disbursementDetail.getExpectedDisbursementDate())));
}
tranches.add(loanTransactionHelper.createTrancheDetail(null, "20 January 2025", "100"));
disbursementDetails.add(new DisbursementDetail().expectedDisbursementDate("20 January 2025").principal(100.0));
loanTransactionHelper.addAndDeleteDisbursementDetail(loanId.intValue(), "500", "20 December 2024", tranches, "");
loanTransactionHelper.addAndDeleteDisbursementDetail(loanId, disbursementDetails);
disburseLoan(loanId, BigDecimal.valueOf(100), "20 January 2025");
});
@@ -47,6 +47,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.fineract.client.models.AdvancedPaymentData;
import org.apache.fineract.client.models.DeleteLoansLoanIdChargesChargeIdResponse;
import org.apache.fineract.client.models.DeleteLoansLoanIdResponse;
import org.apache.fineract.client.models.DisbursementDetail;
import org.apache.fineract.client.models.GetDelinquencyActionsResponse;
import org.apache.fineract.client.models.GetDelinquencyTagHistoryResponse;
import org.apache.fineract.client.models.GetLoanProductsProductIdResponse;
@@ -66,6 +67,7 @@ import org.apache.fineract.client.models.GetLoansLoanIdTransactionsTemplateRespo
import org.apache.fineract.client.models.GetLoansLoanIdTransactionsTransactionIdResponse;
import org.apache.fineract.client.models.GetLoansResponse;
import org.apache.fineract.client.models.PaymentTypeData;
import org.apache.fineract.client.models.PostAddAndDeleteDisbursementDetailRequest;
import org.apache.fineract.client.models.PostLoanProductsRequest;
import org.apache.fineract.client.models.PostLoanProductsResponse;
import org.apache.fineract.client.models.PostLoansDelinquencyActionRequest;
@@ -2483,6 +2485,15 @@ public class LoanTransactionHelper {
getAddAndDeleteDisbursementsAsJSON(approvalAmount, expectedDisbursementDate, disbursementData), jsonAttributeToGetBack);
}
public String addAndDeleteDisbursementDetail(final Long loanId, PostAddAndDeleteDisbursementDetailRequest request) {
return Calls.ok(FineractClientHelper.getFineractClient().loanDisbursementDetails.addAndDeleteDisbursementDetail(loanId, request));
}
public String addAndDeleteDisbursementDetail(final Long loanId, final List<DisbursementDetail> disbursementDetails) {
return addAndDeleteDisbursementDetail(loanId, new PostAddAndDeleteDisbursementDetailRequest().locale("en")
.dateFormat("dd MMMM yyyy").disbursementData(disbursementDetails));
}
// TODO: Rewrite to use fineract-client instead!
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
// org.apache.fineract.client.models.PostLoansLoanIdRequest)