adamsaghy commented on code in PR #2882:
URL: https://github.com/apache/fineract/pull/2882#discussion_r1086499211
##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanApplicationUndoLastTrancheTest.java:
##########
@@ -129,6 +132,62 @@ public void loanApplicationUndoLastTranche() {
validateDisbursedAmount(disbursedAmount);
}
+ @Test
+ public void loanApplicationUndoLastTrancheWithSameDate() {
+
+ final String proposedAmount = "5000";
+ final String approveDate = "01 March 2014";
+ final String disbursalDate = "01 March 2014";
+
+ // CREATE CLIENT
+ final Integer clientID = ClientHelper.createClient(this.requestSpec,
this.responseSpec, "01 January 2014");
+ LOG.info("---------------------------------CLIENT CREATED WITH
ID--------------------------------------------------- {}", clientID);
+
+ // CREATE LOAN MULTIDISBURSAL PRODUCT
+ final Integer loanProductID = this.loanTransactionHelper
+ .getLoanProductId(new
LoanProductTestBuilder().withInterestTypeAsDecliningBalance().withTranches(true)
+
.withDisallowExpectedDisbursements(true).withInterestCalculationPeriodTypeAsRepaymentPeriod(true).build(null));
+ LOG.info("----------------------------------LOAN PRODUCT CREATED WITH
ID------------------------------------------- {}",
+ loanProductID);
+
+ // APPLY FOR LOAN WITH TRANCHES
+ final Integer loanID = applyForLoanApplicationWithTranches(clientID,
loanProductID, proposedAmount, new ArrayList<>());
+
+ LOG.info("-----------------------------------LOAN CREATED WITH
LOANID------------------------------------------------- {}", loanID);
+
+ LOG.info("-----------------------------------APPROVE
LOAN-----------------------------------------------------------");
+ this.loanTransactionHelper.approveLoan(approveDate, proposedAmount,
loanID, null);
+
+ GetLoansLoanIdResponse getLoansLoanIdResponse =
loanTransactionHelper.getLoan(requestSpec, responseSpec, loanID);
+ assertNotNull(getLoansLoanIdResponse);
+ loanTransactionHelper.validateLoanStatus(getLoansLoanIdResponse,
"loanStatusType.approved");
+
+ // DISBURSE A LOAN
+ loanTransactionHelper.disburseLoanWithTransactionAmount(disbursalDate,
loanID, "1000");
+ getLoansLoanIdResponse = loanTransactionHelper.getLoan(requestSpec,
responseSpec, loanID);
+ assertNotNull(getLoansLoanIdResponse);
+ // VALIDATE THE LOAN IS ACTIVE STATUS
+ loanTransactionHelper.validateLoanStatus(getLoansLoanIdResponse,
"loanStatusType.active");
+
loanTransactionHelper.evaluateLoanDisbursementDetails(getLoansLoanIdResponse,
1, Double.valueOf("1000.00"));
+
+ // DISBURSE A LOAN (second)
+ loanTransactionHelper.disburseLoanWithTransactionAmount(disbursalDate,
loanID, "2000");
+ getLoansLoanIdResponse = loanTransactionHelper.getLoan(requestSpec,
responseSpec, loanID);
+ assertNotNull(getLoansLoanIdResponse);
+ // VALIDATE THE LOAN IS ACTIVE STATUS
+ loanTransactionHelper.validateLoanStatus(getLoansLoanIdResponse,
"loanStatusType.active");
+
loanTransactionHelper.evaluateLoanDisbursementDetails(getLoansLoanIdResponse,
2, Double.valueOf("3000.00"));
+
+ // UNDO LAST TRANCHE
+ this.loanTransactionHelper.undoLastDisbursal(loanID);
+
+ getLoansLoanIdResponse = loanTransactionHelper.getLoan(requestSpec,
responseSpec, loanID);
+ assertNotNull(getLoansLoanIdResponse);
Review Comment:
Please validate whether the loan balance is correct (1000)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]