MIFOSX-865: fixing failing testing cases for accrual accounting
This commit is contained in:
+10
-8
@@ -15,19 +15,21 @@ public class LoanDTO {
|
|||||||
|
|
||||||
private String currencyCode;
|
private String currencyCode;
|
||||||
private boolean cashBasedAccountingEnabled;
|
private boolean cashBasedAccountingEnabled;
|
||||||
private boolean accrualBasedAccountingEnabled;
|
final boolean upfrontAccrualBasedAccountingEnabled;
|
||||||
|
final boolean periodicAccrualBasedAccountingEnabled;
|
||||||
private List<LoanTransactionDTO> newLoanTransactions;
|
private List<LoanTransactionDTO> newLoanTransactions;
|
||||||
|
|
||||||
public LoanDTO(final Long loanId, final Long loanProductId, final Long officeId, final String currencyCode,
|
public LoanDTO(final Long loanId, final Long loanProductId, final Long officeId, final String currencyCode,
|
||||||
final boolean cashBasedAccountingEnabled, final boolean accrualBasedAccountingEnabled,
|
final boolean cashBasedAccountingEnabled, final boolean upfrontAccrualBasedAccountingEnabled,
|
||||||
final List<LoanTransactionDTO> newLoanTransactions) {
|
final boolean periodicAccrualBasedAccountingEnabled, final List<LoanTransactionDTO> newLoanTransactions) {
|
||||||
this.loanId = loanId;
|
this.loanId = loanId;
|
||||||
this.loanProductId = loanProductId;
|
this.loanProductId = loanProductId;
|
||||||
this.officeId = officeId;
|
this.officeId = officeId;
|
||||||
this.cashBasedAccountingEnabled = cashBasedAccountingEnabled;
|
this.cashBasedAccountingEnabled = cashBasedAccountingEnabled;
|
||||||
this.accrualBasedAccountingEnabled = accrualBasedAccountingEnabled;
|
|
||||||
this.newLoanTransactions = newLoanTransactions;
|
this.newLoanTransactions = newLoanTransactions;
|
||||||
this.currencyCode = currencyCode;
|
this.currencyCode = currencyCode;
|
||||||
|
this.upfrontAccrualBasedAccountingEnabled = upfrontAccrualBasedAccountingEnabled;
|
||||||
|
this.periodicAccrualBasedAccountingEnabled = periodicAccrualBasedAccountingEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getLoanId() {
|
public Long getLoanId() {
|
||||||
@@ -62,12 +64,12 @@ public class LoanDTO {
|
|||||||
this.cashBasedAccountingEnabled = cashBasedAccountingEnabled;
|
this.cashBasedAccountingEnabled = cashBasedAccountingEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isAccrualBasedAccountingEnabled() {
|
public boolean isUpfrontAccrualBasedAccountingEnabled() {
|
||||||
return this.accrualBasedAccountingEnabled;
|
return this.upfrontAccrualBasedAccountingEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAccrualBasedAccountingEnabled(final boolean accrualBasedAccountingEnabled) {
|
public boolean isPeriodicAccrualBasedAccountingEnabled() {
|
||||||
this.accrualBasedAccountingEnabled = accrualBasedAccountingEnabled;
|
return this.periodicAccrualBasedAccountingEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<LoanTransactionDTO> getNewLoanTransactions() {
|
public List<LoanTransactionDTO> getNewLoanTransactions() {
|
||||||
|
|||||||
+4
-3
@@ -27,9 +27,10 @@ public class AccountingProcessorForLoanFactory {
|
|||||||
if (loanDTO.isCashBasedAccountingEnabled()) {
|
if (loanDTO.isCashBasedAccountingEnabled()) {
|
||||||
accountingProcessorForLoan = this.applicationContext.getBean("cashBasedAccountingProcessorForLoan",
|
accountingProcessorForLoan = this.applicationContext.getBean("cashBasedAccountingProcessorForLoan",
|
||||||
AccountingProcessorForLoan.class);
|
AccountingProcessorForLoan.class);
|
||||||
}
|
} else if (loanDTO.isUpfrontAccrualBasedAccountingEnabled()) {
|
||||||
|
accountingProcessorForLoan = this.applicationContext.getBean("accrualBasedAccountingProcessorForLoan",
|
||||||
else if (loanDTO.isAccrualBasedAccountingEnabled()) {
|
AccountingProcessorForLoan.class);
|
||||||
|
} else if (loanDTO.isPeriodicAccrualBasedAccountingEnabled()) {
|
||||||
accountingProcessorForLoan = this.applicationContext.getBean("accrualBasedAccountingProcessorForLoan",
|
accountingProcessorForLoan = this.applicationContext.getBean("accrualBasedAccountingProcessorForLoan",
|
||||||
AccountingProcessorForLoan.class);
|
AccountingProcessorForLoan.class);
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -74,7 +74,7 @@ public class AccountingProcessorHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public LoanDTO populateLoanDtoFromMap(final Map<String, Object> accountingBridgeData, final boolean cashBasedAccountingEnabled,
|
public LoanDTO populateLoanDtoFromMap(final Map<String, Object> accountingBridgeData, final boolean cashBasedAccountingEnabled,
|
||||||
final boolean accrualBasedAccountingEnabled) {
|
final boolean upfrontAccrualBasedAccountingEnabled, final boolean periodicAccrualBasedAccountingEnabled) {
|
||||||
final Long loanId = (Long) accountingBridgeData.get("loanId");
|
final Long loanId = (Long) accountingBridgeData.get("loanId");
|
||||||
final Long loanProductId = (Long) accountingBridgeData.get("loanProductId");
|
final Long loanProductId = (Long) accountingBridgeData.get("loanProductId");
|
||||||
final Long officeId = (Long) accountingBridgeData.get("officeId");
|
final Long officeId = (Long) accountingBridgeData.get("officeId");
|
||||||
@@ -127,8 +127,8 @@ public class AccountingProcessorHelper {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return new LoanDTO(loanId, loanProductId, officeId, currencyData.code(), cashBasedAccountingEnabled, accrualBasedAccountingEnabled,
|
return new LoanDTO(loanId, loanProductId, officeId, currencyData.code(), cashBasedAccountingEnabled,
|
||||||
newLoanTransactions);
|
upfrontAccrualBasedAccountingEnabled, periodicAccrualBasedAccountingEnabled, newLoanTransactions);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SavingsDTO populateSavingsDtoFromMap(final Map<String, Object> accountingBridgeData, final boolean cashBasedAccountingEnabled,
|
public SavingsDTO populateSavingsDtoFromMap(final Map<String, Object> accountingBridgeData, final boolean cashBasedAccountingEnabled,
|
||||||
|
|||||||
+4
-3
@@ -310,11 +310,12 @@ public class JournalEntryWritePlatformServiceJpaRepositoryImpl implements Journa
|
|||||||
public void createJournalEntriesForLoan(final Map<String, Object> accountingBridgeData) {
|
public void createJournalEntriesForLoan(final Map<String, Object> accountingBridgeData) {
|
||||||
|
|
||||||
final boolean cashBasedAccountingEnabled = (Boolean) accountingBridgeData.get("cashBasedAccountingEnabled");
|
final boolean cashBasedAccountingEnabled = (Boolean) accountingBridgeData.get("cashBasedAccountingEnabled");
|
||||||
final boolean accrualBasedAccountingEnabled = (Boolean) accountingBridgeData.get("accrualBasedAccountingEnabled");
|
final boolean upfrontAccrualBasedAccountingEnabled = (Boolean) accountingBridgeData.get("upfrontAccrualBasedAccountingEnabled");
|
||||||
|
final boolean periodicAccrualBasedAccountingEnabled = (Boolean) accountingBridgeData.get("periodicAccrualBasedAccountingEnabled");
|
||||||
|
|
||||||
if (cashBasedAccountingEnabled || accrualBasedAccountingEnabled) {
|
if (cashBasedAccountingEnabled || upfrontAccrualBasedAccountingEnabled || periodicAccrualBasedAccountingEnabled) {
|
||||||
final LoanDTO loanDTO = this.helper.populateLoanDtoFromMap(accountingBridgeData, cashBasedAccountingEnabled,
|
final LoanDTO loanDTO = this.helper.populateLoanDtoFromMap(accountingBridgeData, cashBasedAccountingEnabled,
|
||||||
accrualBasedAccountingEnabled);
|
upfrontAccrualBasedAccountingEnabled, periodicAccrualBasedAccountingEnabled);
|
||||||
final AccountingProcessorForLoan accountingProcessorForLoan = this.accountingProcessorForLoanFactory
|
final AccountingProcessorForLoan accountingProcessorForLoan = this.accountingProcessorForLoanFactory
|
||||||
.determineProcessor(loanDTO);
|
.determineProcessor(loanDTO);
|
||||||
accountingProcessorForLoan.createJournalEntriesForLoan(loanDTO);
|
accountingProcessorForLoan.createJournalEntriesForLoan(loanDTO);
|
||||||
|
|||||||
Reference in New Issue
Block a user