MIFOSX-1162 : removed overdue loan charge on undo disburse
This commit is contained in:
+1
@@ -46,6 +46,7 @@ public class AccountTransferTest {
|
|||||||
public static final String TO_SAVINGS_ACCOUNT_TYPE = "2";
|
public static final String TO_SAVINGS_ACCOUNT_TYPE = "2";
|
||||||
|
|
||||||
public static final String LOAN_APPROVAL_DATE = "01 March 2013";
|
public static final String LOAN_APPROVAL_DATE = "01 March 2013";
|
||||||
|
public static final String LOAN_APPROVAL_DATE_PLUS_ONE = "02 March 2013";
|
||||||
public static final String LOAN_DISBURSAL_DATE = "01 March 2013";
|
public static final String LOAN_DISBURSAL_DATE = "01 March 2013";
|
||||||
|
|
||||||
private ResponseSpecification responseSpec;
|
private ResponseSpecification responseSpec;
|
||||||
|
|||||||
+5
-1
@@ -651,7 +651,7 @@ public class SchedulerJobsTestResults {
|
|||||||
loanStatusHashMap = this.loanTransactionHelper.approveLoan(AccountTransferTest.LOAN_APPROVAL_DATE, loanID);
|
loanStatusHashMap = this.loanTransactionHelper.approveLoan(AccountTransferTest.LOAN_APPROVAL_DATE, loanID);
|
||||||
LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
|
LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
|
||||||
|
|
||||||
loanStatusHashMap = this.loanTransactionHelper.disburseLoan(AccountTransferTest.LOAN_DISBURSAL_DATE, loanID);
|
loanStatusHashMap = this.loanTransactionHelper.disburseLoan(AccountTransferTest.LOAN_APPROVAL_DATE_PLUS_ONE, loanID);
|
||||||
LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap);
|
LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap);
|
||||||
|
|
||||||
ArrayList<HashMap> repaymentScheduleDataBefore = this.loanTransactionHelper.getLoanRepaymentSchedule(this.requestSpec,
|
ArrayList<HashMap> repaymentScheduleDataBefore = this.loanTransactionHelper.getLoanRepaymentSchedule(this.requestSpec,
|
||||||
@@ -670,6 +670,10 @@ public class SchedulerJobsTestResults {
|
|||||||
Assert.assertEquals("Verifying From Penalty Charges due fot first Repayment after Successful completion of Scheduler Job",
|
Assert.assertEquals("Verifying From Penalty Charges due fot first Repayment after Successful completion of Scheduler Job",
|
||||||
chargeAmount, (Float) repaymentScheduleDataAfter.get(1).get("penaltyChargesDue"));
|
chargeAmount, (Float) repaymentScheduleDataAfter.get(1).get("penaltyChargesDue"));
|
||||||
|
|
||||||
|
loanStatusHashMap = this.loanTransactionHelper.undoDisbursal(loanID);
|
||||||
|
LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
|
||||||
|
LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
+5
-1
@@ -2118,7 +2118,11 @@ public class Loan extends AbstractPersistable<Long> {
|
|||||||
this.actualDisbursementDate = null;
|
this.actualDisbursementDate = null;
|
||||||
|
|
||||||
for (final LoanCharge charge : charges()) {
|
for (final LoanCharge charge : charges()) {
|
||||||
charge.resetToOriginal(loanCurrency());
|
if (charge.isOverdueInstallmentCharge()) {
|
||||||
|
charge.setActive(false);
|
||||||
|
} else {
|
||||||
|
charge.resetToOriginal(loanCurrency());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (final LoanRepaymentScheduleInstallment currentInstallment : this.repaymentScheduleInstallments) {
|
for (final LoanRepaymentScheduleInstallment currentInstallment : this.repaymentScheduleInstallments) {
|
||||||
|
|||||||
+4
-1
@@ -305,7 +305,7 @@ public class LoanCharge extends AbstractPersistable<Long> {
|
|||||||
this.paid = false;
|
this.paid = false;
|
||||||
this.waived = false;
|
this.waived = false;
|
||||||
for (final LoanInstallmentCharge installmentCharge : this.loanInstallmentCharge) {
|
for (final LoanInstallmentCharge installmentCharge : this.loanInstallmentCharge) {
|
||||||
installmentCharge.resetPaidAmount(currency);
|
installmentCharge.resetToOriginal(currency);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -816,6 +816,9 @@ public class LoanCharge extends AbstractPersistable<Long> {
|
|||||||
|
|
||||||
public void setActive(boolean active) {
|
public void setActive(boolean active) {
|
||||||
this.active = active;
|
this.active = active;
|
||||||
|
if (!active) {
|
||||||
|
this.overdueInstallmentCharge = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public BigDecimal amountOrPercentage() {
|
public BigDecimal amountOrPercentage() {
|
||||||
|
|||||||
Reference in New Issue
Block a user