This is an automated email from the ASF dual-hosted git repository.
adamsaghy pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new 0927c8e1d FINERACT-1971: Align dates and dateformat in tests
0927c8e1d is described below
commit 0927c8e1d9a3fdf2e9b0fc45ade67cab2c4f08a1
Author: Adam Saghy <[email protected]>
AuthorDate: Thu Sep 21 11:30:59 2023 +0200
FINERACT-1971: Align dates and dateformat in tests
---
.../client/api/ClientsApiResourceSwagger.java | 2 +-
.../ClientLoanIntegrationTest.java | 750 +++++++++++----------
.../ClientSavingsIntegrationTest.java | 2 +-
.../SavingsAccountTransactionTest.java | 2 +-
...gsAccountTransactionsSearchIntegrationTest.java | 2 +-
.../SavingsAccountsExternalIdTest.java | 3 +-
.../integrationtests/SavingsAccountsTest.java | 2 +-
.../integrationtests/common/CenterDomain.java | 2 +-
.../integrationtests/common/CenterHelper.java | 2 +-
.../common/shares/DividendsIntegrationTests.java | 10 +-
.../shares/ShareAccountIntegrationTests.java | 52 +-
11 files changed, 425 insertions(+), 404 deletions(-)
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientsApiResourceSwagger.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientsApiResourceSwagger.java
index a8a237b11..017837f40 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientsApiResourceSwagger.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientsApiResourceSwagger.java
@@ -402,7 +402,7 @@ final class ClientsApiResourceSwagger {
@Schema(example = "03 August 2021")
public String activationDate;
- @Schema(example = "dd MMM yyyy")
+ @Schema(example = "dd MMMM yyyy")
public String dateFormat;
@Schema(example = "en")
public String locale;
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java
index 77c2ece77..75423a908 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java
@@ -2541,204 +2541,210 @@ public class ClientLoanIntegrationTest {
*/
@Test
public void
loanWithChargesOfTypeAmountPercentageAndPeriodicAccrualAccountingEnabled()
throws InterruptedException {
+ try {
+ GlobalConfigurationHelper.manageConfigurations(REQUEST_SPEC,
RESPONSE_SPEC,
+
GlobalConfigurationHelper.ENABLE_AUTOGENERATED_EXTERNAL_ID, true);
+ final Integer clientID = ClientHelper.createClient(REQUEST_SPEC,
RESPONSE_SPEC);
+ ClientHelper.verifyClientCreatedOnServer(REQUEST_SPEC,
RESPONSE_SPEC, clientID);
- final Integer clientID = ClientHelper.createClient(REQUEST_SPEC,
RESPONSE_SPEC);
- ClientHelper.verifyClientCreatedOnServer(REQUEST_SPEC, RESPONSE_SPEC,
clientID);
-
- // Add charges with payment mode regular
- List<HashMap> charges = new ArrayList<>();
- Integer percentageDisbursementCharge =
ChargesHelper.createCharges(REQUEST_SPEC, RESPONSE_SPEC,
-
ChargesHelper.getLoanDisbursementJSON(ChargesHelper.CHARGE_CALCULATION_TYPE_PERCENTAGE_AMOUNT,
"1"));
- addCharges(charges, percentageDisbursementCharge, "1", null);
-
- Integer percentageSpecifiedDueDateCharge =
ChargesHelper.createCharges(REQUEST_SPEC, RESPONSE_SPEC,
-
ChargesHelper.getLoanSpecifiedDueDateJSON(ChargesHelper.CHARGE_CALCULATION_TYPE_PERCENTAGE_AMOUNT,
"1", false));
- addCharges(charges, percentageSpecifiedDueDateCharge, "1", "29
September 2011");
+ // Add charges with payment mode regular
+ List<HashMap> charges = new ArrayList<>();
+ Integer percentageDisbursementCharge =
ChargesHelper.createCharges(REQUEST_SPEC, RESPONSE_SPEC,
+
ChargesHelper.getLoanDisbursementJSON(ChargesHelper.CHARGE_CALCULATION_TYPE_PERCENTAGE_AMOUNT,
"1"));
+ addCharges(charges, percentageDisbursementCharge, "1", null);
- Integer percentageInstallmentFee =
ChargesHelper.createCharges(REQUEST_SPEC, RESPONSE_SPEC,
-
ChargesHelper.getLoanInstallmentJSON(ChargesHelper.CHARGE_CALCULATION_TYPE_PERCENTAGE_AMOUNT,
"1", false));
- addCharges(charges, percentageInstallmentFee, "1", "29 September
2011");
+ Integer percentageSpecifiedDueDateCharge =
ChargesHelper.createCharges(REQUEST_SPEC, RESPONSE_SPEC,
+
ChargesHelper.getLoanSpecifiedDueDateJSON(ChargesHelper.CHARGE_CALCULATION_TYPE_PERCENTAGE_AMOUNT,
"1", false));
+ addCharges(charges, percentageSpecifiedDueDateCharge, "1", "29
September 2011");
- final Account assetAccount = ACCOUNT_HELPER.createAssetAccount();
- final Account incomeAccount = ACCOUNT_HELPER.createIncomeAccount();
- final Account expenseAccount = ACCOUNT_HELPER.createExpenseAccount();
- final Account overpaymentAccount =
ACCOUNT_HELPER.createLiabilityAccount();
+ Integer percentageInstallmentFee =
ChargesHelper.createCharges(REQUEST_SPEC, RESPONSE_SPEC,
+
ChargesHelper.getLoanInstallmentJSON(ChargesHelper.CHARGE_CALCULATION_TYPE_PERCENTAGE_AMOUNT,
"1", false));
+ addCharges(charges, percentageInstallmentFee, "1", "29 September
2011");
- List<HashMap> collaterals = new ArrayList<>();
-
- final Integer collateralId =
CollateralManagementHelper.createCollateralProduct(REQUEST_SPEC, RESPONSE_SPEC);
+ final Account assetAccount = ACCOUNT_HELPER.createAssetAccount();
+ final Account incomeAccount = ACCOUNT_HELPER.createIncomeAccount();
+ final Account expenseAccount =
ACCOUNT_HELPER.createExpenseAccount();
+ final Account overpaymentAccount =
ACCOUNT_HELPER.createLiabilityAccount();
- final Integer clientCollateralId =
CollateralManagementHelper.createClientCollateral(REQUEST_SPEC, RESPONSE_SPEC,
- String.valueOf(clientID), collateralId);
- addCollaterals(collaterals, clientCollateralId, BigDecimal.valueOf(1));
+ List<HashMap> collaterals = new ArrayList<>();
- final Integer loanProductID = createLoanProduct(false,
ACCRUAL_PERIODIC, assetAccount, incomeAccount, expenseAccount,
- overpaymentAccount);
- final Integer loanID = applyForLoanApplication(clientID,
loanProductID, charges, null, "12,000.00", collaterals);
- Assertions.assertNotNull(loanID);
- HashMap loanStatusHashMap =
LoanStatusChecker.getStatusOfLoan(REQUEST_SPEC, RESPONSE_SPEC, loanID);
- LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
+ final Integer collateralId =
CollateralManagementHelper.createCollateralProduct(REQUEST_SPEC, RESPONSE_SPEC);
- ArrayList<HashMap> loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
- verifyLoanRepaymentSchedule(loanSchedule);
+ final Integer clientCollateralId =
CollateralManagementHelper.createClientCollateral(REQUEST_SPEC, RESPONSE_SPEC,
+ String.valueOf(clientID), collateralId);
+ addCollaterals(collaterals, clientCollateralId,
BigDecimal.valueOf(1));
- List<HashMap> loanCharges =
LOAN_TRANSACTION_HELPER.getLoanCharges(loanID);
- validateCharge(percentageDisbursementCharge, loanCharges, "1",
"120.00", "0.0", "0.0");
- validateCharge(percentageSpecifiedDueDateCharge, loanCharges, "1",
"120.00", "0.0", "0.0");
- validateCharge(percentageInstallmentFee, loanCharges, "1", "120.00",
"0.0", "0.0");
-
- // check for disbursement fee
- HashMap disbursementDetail = loanSchedule.get(0);
- validateNumberForEqual("120.00",
String.valueOf(disbursementDetail.get("feeChargesDue")));
-
- // check for charge at specified date and installment fee
- HashMap firstInstallment = loanSchedule.get(1);
- validateNumberForEqual("149.11",
String.valueOf(firstInstallment.get("feeChargesDue")));
+ final Integer loanProductID = createLoanProduct(false,
ACCRUAL_PERIODIC, assetAccount, incomeAccount, expenseAccount,
+ overpaymentAccount);
+ final Integer loanID = applyForLoanApplication(clientID,
loanProductID, charges, null, "12,000.00", collaterals);
+ Assertions.assertNotNull(loanID);
+ HashMap loanStatusHashMap =
LoanStatusChecker.getStatusOfLoan(REQUEST_SPEC, RESPONSE_SPEC, loanID);
+ LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
- // check for installment fee
- HashMap secondInstallment = loanSchedule.get(2);
- validateNumberForEqual("29.70",
String.valueOf(secondInstallment.get("feeChargesDue")));
+ ArrayList<HashMap> loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
+ verifyLoanRepaymentSchedule(loanSchedule);
- LOG.info("-----------------------------------APPROVE
LOAN-----------------------------------------");
- loanStatusHashMap = LOAN_TRANSACTION_HELPER.approveLoan("20 September
2011", loanID);
- LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
- LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap);
+ List<HashMap> loanCharges =
LOAN_TRANSACTION_HELPER.getLoanCharges(loanID);
+ validateCharge(percentageDisbursementCharge, loanCharges, "1",
"120.00", "0.0", "0.0");
+ validateCharge(percentageSpecifiedDueDateCharge, loanCharges, "1",
"120.00", "0.0", "0.0");
+ validateCharge(percentageInstallmentFee, loanCharges, "1",
"120.00", "0.0", "0.0");
- LOG.info("-------------------------------DISBURSE
LOAN-------------------------------------------");
- GlobalConfigurationHelper.manageConfigurations(REQUEST_SPEC,
RESPONSE_SPEC,
- GlobalConfigurationHelper.ENABLE_AUTOGENERATED_EXTERNAL_ID,
true);
- String loanDetails =
LOAN_TRANSACTION_HELPER.getLoanDetails(REQUEST_SPEC, RESPONSE_SPEC, loanID);
- loanStatusHashMap =
LOAN_TRANSACTION_HELPER.disburseLoanWithNetDisbursalAmount("20 September 2011",
loanID,
-
JsonPath.from(loanDetails).get("netDisbursalAmount").toString());
- LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap);
+ // check for disbursement fee
+ HashMap disbursementDetail = loanSchedule.get(0);
+ validateNumberForEqual("120.00",
String.valueOf(disbursementDetail.get("feeChargesDue")));
- ArrayList<HashMap> loanTransactionDetails =
LOAN_TRANSACTION_HELPER.getLoanTransactionDetails(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
-
validateAccrualTransactionForDisbursementCharge(loanTransactionDetails);
- final JournalEntry[] assetAccountInitialEntry = { new
JournalEntry(Float.parseFloat("120.00"), JournalEntry.TransactionType.DEBIT),
- new JournalEntry(Float.parseFloat("12000.00"),
JournalEntry.TransactionType.CREDIT),
- new JournalEntry(Float.parseFloat("12000.00"),
JournalEntry.TransactionType.DEBIT) };
- JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount,
"20 September 2011", assetAccountInitialEntry);
- JOURNAL_ENTRY_HELPER.checkJournalEntryForIncomeAccount(incomeAccount,
"20 September 2011",
- new JournalEntry(Float.parseFloat("120.00"),
JournalEntry.TransactionType.CREDIT));
- loanCharges.clear();
- loanCharges = LOAN_TRANSACTION_HELPER.getLoanCharges(loanID);
- validateCharge(percentageDisbursementCharge, loanCharges, "1", "0.0",
"120.00", "0.0");
+ // check for charge at specified date and installment fee
+ HashMap firstInstallment = loanSchedule.get(1);
+ validateNumberForEqual("149.11",
String.valueOf(firstInstallment.get("feeChargesDue")));
- LOG.info("-------------Make repayment 1-----------");
- LOAN_TRANSACTION_HELPER.makeRepayment("20 October 2011",
Float.parseFloat("3300.60"), loanID);
- loanCharges.clear();
- loanCharges = LOAN_TRANSACTION_HELPER.getLoanCharges(loanID);
- validateCharge(percentageDisbursementCharge, loanCharges, "1", "0.00",
"120.00", "0.0");
- validateCharge(percentageSpecifiedDueDateCharge, loanCharges, "1",
"0.00", "120.0", "0.0");
- validateCharge(percentageInstallmentFee, loanCharges, "1", "90.89",
"29.11", "0.0");
+ // check for installment fee
+ HashMap secondInstallment = loanSchedule.get(2);
+ validateNumberForEqual("29.70",
String.valueOf(secondInstallment.get("feeChargesDue")));
- JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount,
"20 October 2011",
- new JournalEntry(Float.parseFloat("3300.60"),
JournalEntry.TransactionType.DEBIT),
- new JournalEntry(Float.parseFloat("3300.60"),
JournalEntry.TransactionType.CREDIT));
+ LOG.info("-----------------------------------APPROVE
LOAN-----------------------------------------");
+ loanStatusHashMap = LOAN_TRANSACTION_HELPER.approveLoan("20
September 2011", loanID);
+ LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
+
LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap);
- LOAN_TRANSACTION_HELPER.addChargesForLoan(loanID, LoanTransactionHelper
-
.getSpecifiedDueDateChargesForLoanAsJSON(String.valueOf(percentageSpecifiedDueDateCharge),
"29 October 2011", "1"));
- loanSchedule.clear();
- loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
+ LOG.info("-------------------------------DISBURSE
LOAN-------------------------------------------");
+ String loanDetails =
LOAN_TRANSACTION_HELPER.getLoanDetails(REQUEST_SPEC, RESPONSE_SPEC, loanID);
+ loanStatusHashMap =
LOAN_TRANSACTION_HELPER.disburseLoanWithNetDisbursalAmount("20 September 2011",
loanID,
+
JsonPath.from(loanDetails).get("netDisbursalAmount").toString());
+ LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap);
- secondInstallment = loanSchedule.get(2);
- validateNumberForEqual("149.70",
String.valueOf(secondInstallment.get("feeChargesDue")));
- LOG.info("----------- Waive installment charge for 2nd installment
---------");
- LOAN_TRANSACTION_HELPER.waiveChargesForLoan(loanID, (Integer)
getloanCharge(percentageInstallmentFee, loanCharges).get("id"),
- LoanTransactionHelper.getWaiveChargeJSON(String.valueOf(2)));
- loanCharges.clear();
- loanCharges = LOAN_TRANSACTION_HELPER.getLoanCharges(loanID);
- validateCharge(percentageInstallmentFee, loanCharges, "1", "61.19",
"29.11", "29.70");
+ ArrayList<HashMap> loanTransactionDetails =
LOAN_TRANSACTION_HELPER.getLoanTransactionDetails(REQUEST_SPEC, RESPONSE_SPEC,
+ loanID);
+
validateAccrualTransactionForDisbursementCharge(loanTransactionDetails);
+ final JournalEntry[] assetAccountInitialEntry = {
+ new JournalEntry(Float.parseFloat("120.00"),
JournalEntry.TransactionType.DEBIT),
+ new JournalEntry(Float.parseFloat("12000.00"),
JournalEntry.TransactionType.CREDIT),
+ new JournalEntry(Float.parseFloat("12000.00"),
JournalEntry.TransactionType.DEBIT) };
+
JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount, "20
September 2011", assetAccountInitialEntry);
+
JOURNAL_ENTRY_HELPER.checkJournalEntryForIncomeAccount(incomeAccount, "20
September 2011",
+ new JournalEntry(Float.parseFloat("120.00"),
JournalEntry.TransactionType.CREDIT));
+ loanCharges.clear();
+ loanCharges = LOAN_TRANSACTION_HELPER.getLoanCharges(loanID);
+ validateCharge(percentageDisbursementCharge, loanCharges, "1",
"0.0", "120.00", "0.0");
+
+ LOG.info("-------------Make repayment 1-----------");
+ LOAN_TRANSACTION_HELPER.makeRepayment("20 October 2011",
Float.parseFloat("3300.60"), loanID);
+ loanCharges.clear();
+ loanCharges = LOAN_TRANSACTION_HELPER.getLoanCharges(loanID);
+ validateCharge(percentageDisbursementCharge, loanCharges, "1",
"0.00", "120.00", "0.0");
+ validateCharge(percentageSpecifiedDueDateCharge, loanCharges, "1",
"0.00", "120.0", "0.0");
+ validateCharge(percentageInstallmentFee, loanCharges, "1",
"90.89", "29.11", "0.0");
+
+
JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount, "20 October
2011",
+ new JournalEntry(Float.parseFloat("3300.60"),
JournalEntry.TransactionType.DEBIT),
+ new JournalEntry(Float.parseFloat("3300.60"),
JournalEntry.TransactionType.CREDIT));
- /*
- * JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(
assetAccount, "20 September 2011", new
- * JournalEntry(Float.parseFloat("29.7"),
JournalEntry.TransactionType.CREDIT));
- * JOURNAL_ENTRY_HELPER.checkJournalEntryForExpenseAccount
(expenseAccount, "20 September 2011", new
- * JournalEntry(Float.parseFloat("29.7"),
JournalEntry.TransactionType.DEBIT));
- */
+ LOAN_TRANSACTION_HELPER.addChargesForLoan(loanID,
LoanTransactionHelper
+
.getSpecifiedDueDateChargesForLoanAsJSON(String.valueOf(percentageSpecifiedDueDateCharge),
"29 October 2011", "1"));
+ loanSchedule.clear();
+ loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
- final String jobName = "Add Accrual Transactions";
+ secondInstallment = loanSchedule.get(2);
+ validateNumberForEqual("149.70",
String.valueOf(secondInstallment.get("feeChargesDue")));
+ LOG.info("----------- Waive installment charge for 2nd installment
---------");
+ LOAN_TRANSACTION_HELPER.waiveChargesForLoan(loanID, (Integer)
getloanCharge(percentageInstallmentFee, loanCharges).get("id"),
+
LoanTransactionHelper.getWaiveChargeJSON(String.valueOf(2)));
+ loanCharges.clear();
+ loanCharges = LOAN_TRANSACTION_HELPER.getLoanCharges(loanID);
+ validateCharge(percentageInstallmentFee, loanCharges, "1",
"61.19", "29.11", "29.70");
- SCHEDULER_JOB_HELPER.executeAndAwaitJob(jobName);
+ /*
+ * JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(
assetAccount, "20 September 2011", new
+ * JournalEntry(Float.parseFloat("29.7"),
JournalEntry.TransactionType.CREDIT));
+ * JOURNAL_ENTRY_HELPER.checkJournalEntryForExpenseAccount
(expenseAccount, "20 September 2011", new
+ * JournalEntry(Float.parseFloat("29.7"),
JournalEntry.TransactionType.DEBIT));
+ */
- loanSchedule.clear();
- loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
- checkAccrualTransactions(loanSchedule, loanID);
+ final String jobName = "Add Accrual Transactions";
- LOG.info("----------Make repayment 2------------");
- LOAN_TRANSACTION_HELPER.makeRepayment("20 November 2011",
Float.parseFloat("3271.49"), loanID);
- JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount,
"20 November 2011",
- new JournalEntry(Float.parseFloat("3271.49"),
JournalEntry.TransactionType.DEBIT),
- new JournalEntry(Float.parseFloat("3271.49"),
JournalEntry.TransactionType.CREDIT));
+ SCHEDULER_JOB_HELPER.executeAndAwaitJob(jobName);
- loanSchedule.clear();
- loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
- secondInstallment = loanSchedule.get(2);
- validateNumberForEqual("0",
String.valueOf(secondInstallment.get("totalOutstandingForPeriod")));
+ loanSchedule.clear();
+ loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
+ checkAccrualTransactions(loanSchedule, loanID);
- LOG.info("--------------Waive interest---------------");
- LOAN_TRANSACTION_HELPER.waiveInterest("20 December 2011",
String.valueOf(61.79), loanID);
+ LOG.info("----------Make repayment 2------------");
+ LOAN_TRANSACTION_HELPER.makeRepayment("20 November 2011",
Float.parseFloat("3271.49"), loanID);
+
JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount, "20
November 2011",
+ new JournalEntry(Float.parseFloat("3271.49"),
JournalEntry.TransactionType.DEBIT),
+ new JournalEntry(Float.parseFloat("3271.49"),
JournalEntry.TransactionType.CREDIT));
- loanSchedule.clear();
- loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
- HashMap thirdInstallment = loanSchedule.get(3);
- validateNumberForEqual("60.59",
String.valueOf(thirdInstallment.get("interestOutstanding")));
+ loanSchedule.clear();
+ loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
+ secondInstallment = loanSchedule.get(2);
+ validateNumberForEqual("0",
String.valueOf(secondInstallment.get("totalOutstandingForPeriod")));
- JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount,
"20 December 2011",
- new JournalEntry(Float.parseFloat("61.79"),
JournalEntry.TransactionType.CREDIT));
-
JOURNAL_ENTRY_HELPER.checkJournalEntryForExpenseAccount(expenseAccount, "20
December 2011",
- new JournalEntry(Float.parseFloat("61.79"),
JournalEntry.TransactionType.DEBIT));
+ LOG.info("--------------Waive interest---------------");
+ LOAN_TRANSACTION_HELPER.waiveInterest("20 December 2011",
String.valueOf(61.79), loanID);
- Integer percentagePenaltySpecifiedDueDate =
ChargesHelper.createCharges(REQUEST_SPEC, RESPONSE_SPEC,
-
ChargesHelper.getLoanSpecifiedDueDateJSON(ChargesHelper.CHARGE_CALCULATION_TYPE_PERCENTAGE_AMOUNT,
"1", true));
- LOAN_TRANSACTION_HELPER.addChargesForLoan(loanID, LoanTransactionHelper
-
.getSpecifiedDueDateChargesForLoanAsJSON(String.valueOf(percentagePenaltySpecifiedDueDate),
"29 September 2011", "1"));
- loanCharges.clear();
- loanCharges = LOAN_TRANSACTION_HELPER.getLoanCharges(loanID);
- validateCharge(percentagePenaltySpecifiedDueDate, loanCharges, "1",
"0.00", "120.0", "0.0");
+ loanSchedule.clear();
+ loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
+ HashMap thirdInstallment = loanSchedule.get(3);
+ validateNumberForEqual("60.59",
String.valueOf(thirdInstallment.get("interestOutstanding")));
- loanSchedule.clear();
- loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
- secondInstallment = loanSchedule.get(2);
- validateNumberForEqual("120",
String.valueOf(secondInstallment.get("totalOutstandingForPeriod")));
+
JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount, "20
December 2011",
+ new JournalEntry(Float.parseFloat("61.79"),
JournalEntry.TransactionType.CREDIT));
+
JOURNAL_ENTRY_HELPER.checkJournalEntryForExpenseAccount(expenseAccount, "20
December 2011",
+ new JournalEntry(Float.parseFloat("61.79"),
JournalEntry.TransactionType.DEBIT));
- // checking the journal entry as applied penalty has been collected
- JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount,
"20 October 2011",
- new JournalEntry(Float.parseFloat("3300.60"),
JournalEntry.TransactionType.DEBIT),
- new JournalEntry(Float.parseFloat("3300.60"),
JournalEntry.TransactionType.CREDIT));
+ Integer percentagePenaltySpecifiedDueDate =
ChargesHelper.createCharges(REQUEST_SPEC, RESPONSE_SPEC,
+
ChargesHelper.getLoanSpecifiedDueDateJSON(ChargesHelper.CHARGE_CALCULATION_TYPE_PERCENTAGE_AMOUNT,
"1", true));
+ LOAN_TRANSACTION_HELPER.addChargesForLoan(loanID,
LoanTransactionHelper
+
.getSpecifiedDueDateChargesForLoanAsJSON(String.valueOf(percentagePenaltySpecifiedDueDate),
"29 September 2011", "1"));
+ loanCharges.clear();
+ loanCharges = LOAN_TRANSACTION_HELPER.getLoanCharges(loanID);
+ validateCharge(percentagePenaltySpecifiedDueDate, loanCharges,
"1", "0.00", "120.0", "0.0");
- LOG.info("----------Make repayment 3 advance------------");
- LOAN_TRANSACTION_HELPER.makeRepayment("20 November 2011",
Float.parseFloat("3301.78"), loanID);
- JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount,
"20 November 2011",
- new JournalEntry(Float.parseFloat("3301.78"),
JournalEntry.TransactionType.DEBIT),
- new JournalEntry(Float.parseFloat("3301.78"),
JournalEntry.TransactionType.CREDIT));
+ loanSchedule.clear();
+ loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
+ secondInstallment = loanSchedule.get(2);
+ validateNumberForEqual("120",
String.valueOf(secondInstallment.get("totalOutstandingForPeriod")));
- LOAN_TRANSACTION_HELPER.addChargesForLoan(loanID, LoanTransactionHelper
-
.getSpecifiedDueDateChargesForLoanAsJSON(String.valueOf(percentagePenaltySpecifiedDueDate),
"10 January 2012", "1"));
- loanSchedule.clear();
- loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
- HashMap fourthInstallment = loanSchedule.get(4);
- validateNumberForEqual("120",
String.valueOf(fourthInstallment.get("penaltyChargesOutstanding")));
- validateNumberForEqual("3240.58",
String.valueOf(fourthInstallment.get("totalOutstandingForPeriod")));
+ // checking the journal entry as applied penalty has been collected
+
JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount, "20 October
2011",
+ new JournalEntry(Float.parseFloat("3300.60"),
JournalEntry.TransactionType.DEBIT),
+ new JournalEntry(Float.parseFloat("3300.60"),
JournalEntry.TransactionType.CREDIT));
- LOG.info("----------Pay applied penalty ------------");
- LOAN_TRANSACTION_HELPER.makeRepayment("20 January 2012",
Float.parseFloat("120"), loanID);
- JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount,
"20 January 2012",
- new JournalEntry(Float.parseFloat("120"),
JournalEntry.TransactionType.DEBIT),
- new JournalEntry(Float.parseFloat("120"),
JournalEntry.TransactionType.CREDIT));
- loanSchedule.clear();
- loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
- fourthInstallment = loanSchedule.get(4);
- validateNumberForEqual("0",
String.valueOf(fourthInstallment.get("penaltyChargesOutstanding")));
- validateNumberForEqual("3120.58",
String.valueOf(fourthInstallment.get("totalOutstandingForPeriod")));
+ LOG.info("----------Make repayment 3 advance------------");
+ LOAN_TRANSACTION_HELPER.makeRepayment("20 November 2011",
Float.parseFloat("3301.78"), loanID);
+
JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount, "20
November 2011",
+ new JournalEntry(Float.parseFloat("3301.78"),
JournalEntry.TransactionType.DEBIT),
+ new JournalEntry(Float.parseFloat("3301.78"),
JournalEntry.TransactionType.CREDIT));
- LOG.info("----------Make repayment 4 ------------");
- LOAN_TRANSACTION_HELPER.makeRepayment("20 January 2012",
Float.parseFloat("3120.58"), loanID);
- JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount,
"20 January 2012",
- new JournalEntry(Float.parseFloat("3120.58"),
JournalEntry.TransactionType.DEBIT),
- new JournalEntry(Float.parseFloat("3120.58"),
JournalEntry.TransactionType.CREDIT));
- loanStatusHashMap =
LOAN_TRANSACTION_HELPER.getLoanDetail(REQUEST_SPEC, RESPONSE_SPEC, loanID,
"status");
- LoanStatusChecker.verifyLoanAccountIsClosed(loanStatusHashMap);
+ LOAN_TRANSACTION_HELPER.addChargesForLoan(loanID,
LoanTransactionHelper
+
.getSpecifiedDueDateChargesForLoanAsJSON(String.valueOf(percentagePenaltySpecifiedDueDate),
"10 January 2012", "1"));
+ loanSchedule.clear();
+ loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
+ HashMap fourthInstallment = loanSchedule.get(4);
+ validateNumberForEqual("120",
String.valueOf(fourthInstallment.get("penaltyChargesOutstanding")));
+ validateNumberForEqual("3240.58",
String.valueOf(fourthInstallment.get("totalOutstandingForPeriod")));
+
+ LOG.info("----------Pay applied penalty ------------");
+ LOAN_TRANSACTION_HELPER.makeRepayment("20 January 2012",
Float.parseFloat("120"), loanID);
+
JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount, "20 January
2012",
+ new JournalEntry(Float.parseFloat("120"),
JournalEntry.TransactionType.DEBIT),
+ new JournalEntry(Float.parseFloat("120"),
JournalEntry.TransactionType.CREDIT));
+ loanSchedule.clear();
+ loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
+ fourthInstallment = loanSchedule.get(4);
+ validateNumberForEqual("0",
String.valueOf(fourthInstallment.get("penaltyChargesOutstanding")));
+ validateNumberForEqual("3120.58",
String.valueOf(fourthInstallment.get("totalOutstandingForPeriod")));
+
+ LOG.info("----------Make repayment 4 ------------");
+ LOAN_TRANSACTION_HELPER.makeRepayment("20 January 2012",
Float.parseFloat("3120.58"), loanID);
+
JOURNAL_ENTRY_HELPER.checkJournalEntryForAssetAccount(assetAccount, "20 January
2012",
+ new JournalEntry(Float.parseFloat("3120.58"),
JournalEntry.TransactionType.DEBIT),
+ new JournalEntry(Float.parseFloat("3120.58"),
JournalEntry.TransactionType.CREDIT));
+ loanStatusHashMap =
LOAN_TRANSACTION_HELPER.getLoanDetail(REQUEST_SPEC, RESPONSE_SPEC, loanID,
"status");
+ LoanStatusChecker.verifyLoanAccountIsClosed(loanStatusHashMap);
+ } finally {
+ GlobalConfigurationHelper.manageConfigurations(REQUEST_SPEC,
RESPONSE_SPEC,
+
GlobalConfigurationHelper.ENABLE_AUTOGENERATED_EXTERNAL_ID, false);
+ }
}
/***
@@ -3434,56 +3440,60 @@ public class ClientLoanIntegrationTest {
@Test
public void testInteroperationLoanRepaymentAPI() {
+ try {
+ DateFormat dateFormat = new SimpleDateFormat(DATETIME_PATTERN,
Locale.US);
+ dateFormat.setTimeZone(Utils.getTimeZoneOfTenant());
+
GlobalConfigurationHelper.updateEnabledFlagForGlobalConfiguration(REQUEST_SPEC,
RESPONSE_SPEC, "42", true);
+ Calendar startDate =
Calendar.getInstance(Utils.getTimeZoneOfTenant());
+ startDate.add(Calendar.MONTH, -8);
+
+ Calendar firstRepaymentDate = (Calendar) startDate.clone();
+ firstRepaymentDate.add(Calendar.MONTH, 1);
+ firstRepaymentDate.add(Calendar.DAY_OF_MONTH,
+ firstRepaymentDate.getActualMaximum(Calendar.DAY_OF_MONTH)
- Calendar.DAY_OF_MONTH);
+ String firstRepayment =
dateFormat.format(firstRepaymentDate.getTime());
+
+ final String loanDisbursementDate =
dateFormat.format(startDate.getTime());
+ final Integer clientID = ClientHelper.createClient(REQUEST_SPEC,
RESPONSE_SPEC);
+ ClientHelper.verifyClientCreatedOnServer(REQUEST_SPEC,
RESPONSE_SPEC, clientID);
+ final Integer loanProductID =
createLoanProductWithInterestRecalculationAndCompoundingDetails(
+
LoanProductTestBuilder.INTEREST_PRINCIPAL_PENALTIES_FEES_ORDER_STRATEGY,
+
LoanProductTestBuilder.RECALCULATION_COMPOUNDING_METHOD_NONE,
+
LoanProductTestBuilder.RECALCULATION_STRATEGY_REDUCE_NUMBER_OF_INSTALLMENTS,
+
LoanProductTestBuilder.RECALCULATION_FREQUENCY_TYPE_SAME_AS_REPAYMENT_PERIOD,
+
LoanProductTestBuilder.INTEREST_APPLICABLE_STRATEGY_ON_PRE_CLOSE_DATE, null,
"12");
+
+ final Integer loanID =
applyForLoanApplicationForInterestRecalculation(clientID, loanProductID,
loanDisbursementDate,
+
LoanApplicationTestBuilder.INTEREST_PRINCIPAL_PENALTIES_FEES_ORDER_STRATEGY,
firstRepayment);
+
+ Assertions.assertNotNull(loanID);
+ HashMap loanStatusHashMap =
LoanStatusChecker.getStatusOfLoan(REQUEST_SPEC, RESPONSE_SPEC, loanID);
+ LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
- DateFormat dateFormat = new SimpleDateFormat(DATETIME_PATTERN,
Locale.US);
- dateFormat.setTimeZone(Utils.getTimeZoneOfTenant());
-
GlobalConfigurationHelper.updateEnabledFlagForGlobalConfiguration(REQUEST_SPEC,
RESPONSE_SPEC, "42", true);
- Calendar startDate = Calendar.getInstance(Utils.getTimeZoneOfTenant());
- startDate.add(Calendar.MONTH, -8);
-
- Calendar firstRepaymentDate = (Calendar) startDate.clone();
- firstRepaymentDate.add(Calendar.MONTH, 1);
- firstRepaymentDate.add(Calendar.DAY_OF_MONTH,
firstRepaymentDate.getActualMaximum(Calendar.DAY_OF_MONTH) -
Calendar.DAY_OF_MONTH);
- String firstRepayment =
dateFormat.format(firstRepaymentDate.getTime());
-
- final String loanDisbursementDate =
dateFormat.format(startDate.getTime());
- final Integer clientID = ClientHelper.createClient(REQUEST_SPEC,
RESPONSE_SPEC);
- ClientHelper.verifyClientCreatedOnServer(REQUEST_SPEC, RESPONSE_SPEC,
clientID);
- final Integer loanProductID =
createLoanProductWithInterestRecalculationAndCompoundingDetails(
-
LoanProductTestBuilder.INTEREST_PRINCIPAL_PENALTIES_FEES_ORDER_STRATEGY,
- LoanProductTestBuilder.RECALCULATION_COMPOUNDING_METHOD_NONE,
-
LoanProductTestBuilder.RECALCULATION_STRATEGY_REDUCE_NUMBER_OF_INSTALLMENTS,
-
LoanProductTestBuilder.RECALCULATION_FREQUENCY_TYPE_SAME_AS_REPAYMENT_PERIOD,
-
LoanProductTestBuilder.INTEREST_APPLICABLE_STRATEGY_ON_PRE_CLOSE_DATE, null,
"12");
-
- final Integer loanID =
applyForLoanApplicationForInterestRecalculation(clientID, loanProductID,
loanDisbursementDate,
-
LoanApplicationTestBuilder.INTEREST_PRINCIPAL_PENALTIES_FEES_ORDER_STRATEGY,
firstRepayment);
-
- Assertions.assertNotNull(loanID);
- HashMap loanStatusHashMap =
LoanStatusChecker.getStatusOfLoan(REQUEST_SPEC, RESPONSE_SPEC, loanID);
- LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
-
- LOG.info("-----------------------------------APPROVE
LOAN-----------------------------------------");
- loanStatusHashMap =
LOAN_TRANSACTION_HELPER.approveLoan(loanDisbursementDate, loanID);
- LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
- LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap);
+ LOG.info("-----------------------------------APPROVE
LOAN-----------------------------------------");
+ loanStatusHashMap =
LOAN_TRANSACTION_HELPER.approveLoan(loanDisbursementDate, loanID);
+ LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
+
LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap);
- LOG.info("-------------------------------DISBURSE
LOAN-------------------------------------------");
- String loanDetails =
LOAN_TRANSACTION_HELPER.getLoanDetails(REQUEST_SPEC, RESPONSE_SPEC, loanID);
- loanStatusHashMap =
LOAN_TRANSACTION_HELPER.disburseLoanWithNetDisbursalAmount(loanDisbursementDate,
loanID,
-
JsonPath.from(loanDetails).get("netDisbursalAmount").toString());
- LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap);
+ LOG.info("-------------------------------DISBURSE
LOAN-------------------------------------------");
+ String loanDetails =
LOAN_TRANSACTION_HELPER.getLoanDetails(REQUEST_SPEC, RESPONSE_SPEC, loanID);
+ loanStatusHashMap =
LOAN_TRANSACTION_HELPER.disburseLoanWithNetDisbursalAmount(loanDisbursementDate,
loanID,
+
JsonPath.from(loanDetails).get("netDisbursalAmount").toString());
+ LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap);
- ArrayList<HashMap> loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
- Assertions.assertNotNull(loanSchedule);
- startDate.add(Calendar.DAY_OF_MONTH, 2);
- String loanFirstRepaymentDate = dateFormat.format(startDate.getTime());
+ ArrayList<HashMap> loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
+ Assertions.assertNotNull(loanSchedule);
+ startDate.add(Calendar.DAY_OF_MONTH, 2);
+ String loanFirstRepaymentDate =
dateFormat.format(startDate.getTime());
- Float earlyPayment = Float.parseFloat("3000");
- String accountNo =
JsonPath.from(loanDetails).get("accountNo").toString();
+ Float earlyPayment = Float.parseFloat("3000");
+ String accountNo =
JsonPath.from(loanDetails).get("accountNo").toString();
- HashMap loanRepayment =
LOAN_TRANSACTION_HELPER.makeRepaymentWithAccountNo(loanFirstRepaymentDate,
earlyPayment, accountNo);
- assertNotNull(loanRepayment);
+ HashMap loanRepayment =
LOAN_TRANSACTION_HELPER.makeRepaymentWithAccountNo(loanFirstRepaymentDate,
earlyPayment, accountNo);
+ assertNotNull(loanRepayment);
+ } finally {
+
GlobalConfigurationHelper.updateEnabledFlagForGlobalConfiguration(REQUEST_SPEC,
RESPONSE_SPEC, "42", false);
+ }
}
@Test
@@ -4917,134 +4927,140 @@ public class ClientLoanIntegrationTest {
@Test
public void
testLoanScheduleWithInterestRecalculationMakePrepaymentAfterRepayment() {
+ try {
+ DateFormat dateFormat = new SimpleDateFormat(DATETIME_PATTERN,
Locale.US);
+ dateFormat.setTimeZone(Utils.getTimeZoneOfTenant());
+
GlobalConfigurationHelper.updateEnabledFlagForGlobalConfiguration(REQUEST_SPEC,
RESPONSE_SPEC, "42", true);
+ Calendar startDate =
Calendar.getInstance(Utils.getTimeZoneOfTenant());
+ Calendar currentDate =
Calendar.getInstance(Utils.getTimeZoneOfTenant());
+ startDate.add(Calendar.MONTH, -8);
+
+ Calendar firstRepaymentDate = (Calendar) startDate.clone();
+ firstRepaymentDate.add(Calendar.MONTH, 1);
+ firstRepaymentDate.add(Calendar.DAY_OF_MONTH,
+ firstRepaymentDate.getActualMaximum(Calendar.DAY_OF_MONTH)
- Calendar.DAY_OF_MONTH);
+ String firstRepayment =
dateFormat.format(firstRepaymentDate.getTime());
+
+ final String loanDisbursementDate =
dateFormat.format(startDate.getTime());
+ final Integer clientID = ClientHelper.createClient(REQUEST_SPEC,
RESPONSE_SPEC);
+ ClientHelper.verifyClientCreatedOnServer(REQUEST_SPEC,
RESPONSE_SPEC, clientID);
+ final Integer loanProductID =
createLoanProductWithInterestRecalculationAndCompoundingDetails(
+
LoanProductTestBuilder.INTEREST_PRINCIPAL_PENALTIES_FEES_ORDER_STRATEGY,
+
LoanProductTestBuilder.RECALCULATION_COMPOUNDING_METHOD_NONE,
+
LoanProductTestBuilder.RECALCULATION_STRATEGY_REDUCE_NUMBER_OF_INSTALLMENTS,
+
LoanProductTestBuilder.RECALCULATION_FREQUENCY_TYPE_SAME_AS_REPAYMENT_PERIOD,
+
LoanProductTestBuilder.INTEREST_APPLICABLE_STRATEGY_ON_PRE_CLOSE_DATE, null,
"12");
+
+ final Integer loanID =
applyForLoanApplicationForInterestRecalculation(clientID, loanProductID,
loanDisbursementDate,
+
LoanApplicationTestBuilder.INTEREST_PRINCIPAL_PENALTIES_FEES_ORDER_STRATEGY,
firstRepayment);
+
+ Assertions.assertNotNull(loanID);
+ HashMap loanStatusHashMap =
LoanStatusChecker.getStatusOfLoan(REQUEST_SPEC, RESPONSE_SPEC, loanID);
+ LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
- DateFormat dateFormat = new SimpleDateFormat(DATETIME_PATTERN,
Locale.US);
- dateFormat.setTimeZone(Utils.getTimeZoneOfTenant());
-
GlobalConfigurationHelper.updateEnabledFlagForGlobalConfiguration(REQUEST_SPEC,
RESPONSE_SPEC, "42", true);
- Calendar startDate = Calendar.getInstance(Utils.getTimeZoneOfTenant());
- Calendar currentDate =
Calendar.getInstance(Utils.getTimeZoneOfTenant());
- startDate.add(Calendar.MONTH, -8);
-
- Calendar firstRepaymentDate = (Calendar) startDate.clone();
- firstRepaymentDate.add(Calendar.MONTH, 1);
- firstRepaymentDate.add(Calendar.DAY_OF_MONTH,
firstRepaymentDate.getActualMaximum(Calendar.DAY_OF_MONTH) -
Calendar.DAY_OF_MONTH);
- String firstRepayment =
dateFormat.format(firstRepaymentDate.getTime());
-
- final String loanDisbursementDate =
dateFormat.format(startDate.getTime());
- final Integer clientID = ClientHelper.createClient(REQUEST_SPEC,
RESPONSE_SPEC);
- ClientHelper.verifyClientCreatedOnServer(REQUEST_SPEC, RESPONSE_SPEC,
clientID);
- final Integer loanProductID =
createLoanProductWithInterestRecalculationAndCompoundingDetails(
-
LoanProductTestBuilder.INTEREST_PRINCIPAL_PENALTIES_FEES_ORDER_STRATEGY,
- LoanProductTestBuilder.RECALCULATION_COMPOUNDING_METHOD_NONE,
-
LoanProductTestBuilder.RECALCULATION_STRATEGY_REDUCE_NUMBER_OF_INSTALLMENTS,
-
LoanProductTestBuilder.RECALCULATION_FREQUENCY_TYPE_SAME_AS_REPAYMENT_PERIOD,
-
LoanProductTestBuilder.INTEREST_APPLICABLE_STRATEGY_ON_PRE_CLOSE_DATE, null,
"12");
-
- final Integer loanID =
applyForLoanApplicationForInterestRecalculation(clientID, loanProductID,
loanDisbursementDate,
-
LoanApplicationTestBuilder.INTEREST_PRINCIPAL_PENALTIES_FEES_ORDER_STRATEGY,
firstRepayment);
-
- Assertions.assertNotNull(loanID);
- HashMap loanStatusHashMap =
LoanStatusChecker.getStatusOfLoan(REQUEST_SPEC, RESPONSE_SPEC, loanID);
- LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
-
- LOG.info("-----------------------------------APPROVE
LOAN-----------------------------------------");
- loanStatusHashMap =
LOAN_TRANSACTION_HELPER.approveLoan(loanDisbursementDate, loanID);
- LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
- LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap);
-
- LOG.info("-------------------------------DISBURSE
LOAN-------------------------------------------");
- String loanDetails =
LOAN_TRANSACTION_HELPER.getLoanDetails(REQUEST_SPEC, RESPONSE_SPEC, loanID);
- loanStatusHashMap =
LOAN_TRANSACTION_HELPER.disburseLoanWithNetDisbursalAmount(loanDisbursementDate,
loanID,
-
JsonPath.from(loanDetails).get("netDisbursalAmount").toString());
- LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap);
+ LOG.info("-----------------------------------APPROVE
LOAN-----------------------------------------");
+ loanStatusHashMap =
LOAN_TRANSACTION_HELPER.approveLoan(loanDisbursementDate, loanID);
+ LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
+
LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap);
- ArrayList<HashMap> loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
- Assertions.assertNotNull(loanSchedule);
- startDate.add(Calendar.DAY_OF_MONTH, 2);
- String loanFirstRepaymentDate = dateFormat.format(startDate.getTime());
- //
- Float earlyPayment = Float.parseFloat("3000");
- LOAN_TRANSACTION_HELPER.makeRepayment(loanFirstRepaymentDate,
earlyPayment, loanID);
+ LOG.info("-------------------------------DISBURSE
LOAN-------------------------------------------");
+ String loanDetails =
LOAN_TRANSACTION_HELPER.getLoanDetails(REQUEST_SPEC, RESPONSE_SPEC, loanID);
+ loanStatusHashMap =
LOAN_TRANSACTION_HELPER.disburseLoanWithNetDisbursalAmount(loanDisbursementDate,
loanID,
+
JsonPath.from(loanDetails).get("netDisbursalAmount").toString());
+ LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap);
- HashMap prepayDetail =
LOAN_TRANSACTION_HELPER.getPrepayAmount(REQUEST_SPEC, RESPONSE_SPEC, loanID);
- String prepayAmount = String.valueOf(prepayDetail.get("amount"));
- String loanPrepaymentDate = dateFormat.format(currentDate.getTime());
- LOAN_TRANSACTION_HELPER.makeRepayment(loanPrepaymentDate,
Float.parseFloat(prepayAmount), loanID);
- loanStatusHashMap = LoanStatusChecker.getStatusOfLoan(REQUEST_SPEC,
RESPONSE_SPEC, loanID);
- LoanStatusChecker.verifyLoanAccountIsClosed(loanStatusHashMap);
-
GlobalConfigurationHelper.updateEnabledFlagForGlobalConfiguration(REQUEST_SPEC,
RESPONSE_SPEC, "42", false);
+ ArrayList<HashMap> loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
+ Assertions.assertNotNull(loanSchedule);
+ startDate.add(Calendar.DAY_OF_MONTH, 2);
+ String loanFirstRepaymentDate =
dateFormat.format(startDate.getTime());
+ //
+ Float earlyPayment = Float.parseFloat("3000");
+ LOAN_TRANSACTION_HELPER.makeRepayment(loanFirstRepaymentDate,
earlyPayment, loanID);
+
+ HashMap prepayDetail =
LOAN_TRANSACTION_HELPER.getPrepayAmount(REQUEST_SPEC, RESPONSE_SPEC, loanID);
+ String prepayAmount = String.valueOf(prepayDetail.get("amount"));
+ String loanPrepaymentDate =
dateFormat.format(currentDate.getTime());
+ LOAN_TRANSACTION_HELPER.makeRepayment(loanPrepaymentDate,
Float.parseFloat(prepayAmount), loanID);
+ loanStatusHashMap =
LoanStatusChecker.getStatusOfLoan(REQUEST_SPEC, RESPONSE_SPEC, loanID);
+ LoanStatusChecker.verifyLoanAccountIsClosed(loanStatusHashMap);
+ } finally {
+
GlobalConfigurationHelper.updateEnabledFlagForGlobalConfiguration(REQUEST_SPEC,
RESPONSE_SPEC, "42", false);
+ }
}
@Test
public void
testLoanScheduleWithInterestRecalculationMakeAdvancePaymentTillSettlement() {
+ try {
+ final ResponseSpecification errorResponse = new
ResponseSpecBuilder().expectStatusCode(403).build();
+ final LoanTransactionHelper validationErrorHelper = new
LoanTransactionHelper(REQUEST_SPEC, errorResponse);
+ DateFormat dateFormat = new SimpleDateFormat(DATETIME_PATTERN,
Locale.US);
+ dateFormat.setTimeZone(Utils.getTimeZoneOfTenant());
+
GlobalConfigurationHelper.updateEnabledFlagForGlobalConfiguration(REQUEST_SPEC,
RESPONSE_SPEC, "42", true);
+ Calendar startDate =
Calendar.getInstance(Utils.getTimeZoneOfTenant());
+ Calendar currentDate =
Calendar.getInstance(Utils.getTimeZoneOfTenant());
+ startDate.add(Calendar.MONTH, -8);
+
+ Calendar firstRepaymentDate = (Calendar) startDate.clone();
+ firstRepaymentDate.add(Calendar.MONTH, 1);
+ firstRepaymentDate.add(Calendar.DAY_OF_MONTH,
+ firstRepaymentDate.getActualMaximum(Calendar.DAY_OF_MONTH)
- Calendar.DAY_OF_MONTH);
+ String firstRepayment =
dateFormat.format(firstRepaymentDate.getTime());
+
+ final String loanDisbursementDate =
dateFormat.format(startDate.getTime());
+ final Integer clientID = ClientHelper.createClient(REQUEST_SPEC,
RESPONSE_SPEC);
+ ClientHelper.verifyClientCreatedOnServer(REQUEST_SPEC,
RESPONSE_SPEC, clientID);
+ final Integer loanProductID =
createLoanProductWithInterestRecalculationAndCompoundingDetails(
+
LoanProductTestBuilder.INTEREST_PRINCIPAL_PENALTIES_FEES_ORDER_STRATEGY,
+
LoanProductTestBuilder.RECALCULATION_COMPOUNDING_METHOD_NONE,
+
LoanProductTestBuilder.RECALCULATION_STRATEGY_REDUCE_NUMBER_OF_INSTALLMENTS,
+
LoanProductTestBuilder.RECALCULATION_FREQUENCY_TYPE_SAME_AS_REPAYMENT_PERIOD,
+
LoanProductTestBuilder.INTEREST_APPLICABLE_STRATEGY_ON_PRE_CLOSE_DATE, null,
"12");
+
+ final Integer loanID =
applyForLoanApplicationForInterestRecalculation(clientID, loanProductID,
loanDisbursementDate,
+
LoanApplicationTestBuilder.INTEREST_PRINCIPAL_PENALTIES_FEES_ORDER_STRATEGY,
firstRepayment);
+
+ Assertions.assertNotNull(loanID);
+ HashMap loanStatusHashMap =
LoanStatusChecker.getStatusOfLoan(REQUEST_SPEC, RESPONSE_SPEC, loanID);
+ LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
- final ResponseSpecification errorResponse = new
ResponseSpecBuilder().expectStatusCode(403).build();
- final LoanTransactionHelper validationErrorHelper = new
LoanTransactionHelper(REQUEST_SPEC, errorResponse);
- DateFormat dateFormat = new SimpleDateFormat(DATETIME_PATTERN,
Locale.US);
- dateFormat.setTimeZone(Utils.getTimeZoneOfTenant());
-
GlobalConfigurationHelper.updateEnabledFlagForGlobalConfiguration(REQUEST_SPEC,
RESPONSE_SPEC, "42", true);
- Calendar startDate = Calendar.getInstance(Utils.getTimeZoneOfTenant());
- Calendar currentDate =
Calendar.getInstance(Utils.getTimeZoneOfTenant());
- startDate.add(Calendar.MONTH, -8);
-
- Calendar firstRepaymentDate = (Calendar) startDate.clone();
- firstRepaymentDate.add(Calendar.MONTH, 1);
- firstRepaymentDate.add(Calendar.DAY_OF_MONTH,
firstRepaymentDate.getActualMaximum(Calendar.DAY_OF_MONTH) -
Calendar.DAY_OF_MONTH);
- String firstRepayment =
dateFormat.format(firstRepaymentDate.getTime());
-
- final String loanDisbursementDate =
dateFormat.format(startDate.getTime());
- final Integer clientID = ClientHelper.createClient(REQUEST_SPEC,
RESPONSE_SPEC);
- ClientHelper.verifyClientCreatedOnServer(REQUEST_SPEC, RESPONSE_SPEC,
clientID);
- final Integer loanProductID =
createLoanProductWithInterestRecalculationAndCompoundingDetails(
-
LoanProductTestBuilder.INTEREST_PRINCIPAL_PENALTIES_FEES_ORDER_STRATEGY,
- LoanProductTestBuilder.RECALCULATION_COMPOUNDING_METHOD_NONE,
-
LoanProductTestBuilder.RECALCULATION_STRATEGY_REDUCE_NUMBER_OF_INSTALLMENTS,
-
LoanProductTestBuilder.RECALCULATION_FREQUENCY_TYPE_SAME_AS_REPAYMENT_PERIOD,
-
LoanProductTestBuilder.INTEREST_APPLICABLE_STRATEGY_ON_PRE_CLOSE_DATE, null,
"12");
-
- final Integer loanID =
applyForLoanApplicationForInterestRecalculation(clientID, loanProductID,
loanDisbursementDate,
-
LoanApplicationTestBuilder.INTEREST_PRINCIPAL_PENALTIES_FEES_ORDER_STRATEGY,
firstRepayment);
-
- Assertions.assertNotNull(loanID);
- HashMap loanStatusHashMap =
LoanStatusChecker.getStatusOfLoan(REQUEST_SPEC, RESPONSE_SPEC, loanID);
- LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
-
- LOG.info("-----------------------------------APPROVE
LOAN-----------------------------------------");
- loanStatusHashMap =
LOAN_TRANSACTION_HELPER.approveLoan(loanDisbursementDate, loanID);
- LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
- LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap);
-
- LOG.info("-------------------------------DISBURSE
LOAN-------------------------------------------");
- String loanDetails =
LOAN_TRANSACTION_HELPER.getLoanDetails(REQUEST_SPEC, RESPONSE_SPEC, loanID);
- loanStatusHashMap =
LOAN_TRANSACTION_HELPER.disburseLoanWithNetDisbursalAmount(loanDisbursementDate,
loanID,
-
JsonPath.from(loanDetails).get("netDisbursalAmount").toString());
- LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap);
+ LOG.info("-----------------------------------APPROVE
LOAN-----------------------------------------");
+ loanStatusHashMap =
LOAN_TRANSACTION_HELPER.approveLoan(loanDisbursementDate, loanID);
+ LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
+
LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap);
- ArrayList<HashMap> loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
- Assertions.assertNotNull(loanSchedule);
- Calendar repaymentDate = (Calendar) firstRepaymentDate.clone();
- startDate.add(Calendar.DAY_OF_MONTH, 2);
- String loanFirstRepaymentDate = dateFormat.format(startDate.getTime());
- //
- Float earlyPayment = Float.parseFloat("3000");
- String retrieveDueDate = null;
- Float amount = null;
- LOAN_TRANSACTION_HELPER.makeRepayment(loanFirstRepaymentDate,
earlyPayment, loanID);
- for (int i = 1; i < loanSchedule.size(); i++) {
+ LOG.info("-------------------------------DISBURSE
LOAN-------------------------------------------");
+ String loanDetails =
LOAN_TRANSACTION_HELPER.getLoanDetails(REQUEST_SPEC, RESPONSE_SPEC, loanID);
+ loanStatusHashMap =
LOAN_TRANSACTION_HELPER.disburseLoanWithNetDisbursalAmount(loanDisbursementDate,
loanID,
+
JsonPath.from(loanDetails).get("netDisbursalAmount").toString());
+ LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap);
- retrieveDueDate = dateFormat.format(repaymentDate.getTime());
- amount = (Float) loanSchedule.get(i).get("principalOriginalDue") +
(Float) loanSchedule.get(i).get("interestOriginalDue");
- if (currentDate.after(repaymentDate)) {
- LOAN_TRANSACTION_HELPER.makeRepayment(retrieveDueDate, amount,
loanID);
- } else {
- break;
+ ArrayList<HashMap> loanSchedule =
LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC,
loanID);
+ Assertions.assertNotNull(loanSchedule);
+ Calendar repaymentDate = (Calendar) firstRepaymentDate.clone();
+ startDate.add(Calendar.DAY_OF_MONTH, 2);
+ String loanFirstRepaymentDate =
dateFormat.format(startDate.getTime());
+ //
+ Float earlyPayment = Float.parseFloat("3000");
+ String retrieveDueDate = null;
+ Float amount = null;
+ LOAN_TRANSACTION_HELPER.makeRepayment(loanFirstRepaymentDate,
earlyPayment, loanID);
+ for (int i = 1; i < loanSchedule.size(); i++) {
+
+ retrieveDueDate = dateFormat.format(repaymentDate.getTime());
+ amount = (Float)
loanSchedule.get(i).get("principalOriginalDue") + (Float)
loanSchedule.get(i).get("interestOriginalDue");
+ if (currentDate.after(repaymentDate)) {
+ LOAN_TRANSACTION_HELPER.makeRepayment(retrieveDueDate,
amount, loanID);
+ } else {
+ break;
+ }
+ repaymentDate.add(Calendar.MONTH, 1);
}
- repaymentDate.add(Calendar.MONTH, 1);
+ HashMap savingsAccountErrorData =
validationErrorHelper.makeRepayment(retrieveDueDate, amount, loanID);
+ ArrayList<HashMap> error = (ArrayList<HashMap>)
savingsAccountErrorData.get("errors");
+ assertEquals("error.msg.loan.transaction.cannot.be.a.future.date",
error.get(0).get("userMessageGlobalisationCode"));
+ } finally {
+
GlobalConfigurationHelper.updateEnabledFlagForGlobalConfiguration(REQUEST_SPEC,
RESPONSE_SPEC, "42", false);
}
- HashMap savingsAccountErrorData =
validationErrorHelper.makeRepayment(retrieveDueDate, amount, loanID);
- ArrayList<HashMap> error = (ArrayList<HashMap>)
savingsAccountErrorData.get("errors");
- assertEquals("error.msg.loan.transaction.cannot.be.a.future.date",
error.get(0).get("userMessageGlobalisationCode"));
-
GlobalConfigurationHelper.updateEnabledFlagForGlobalConfiguration(REQUEST_SPEC,
RESPONSE_SPEC, "42", false);
}
@Test
@@ -5722,6 +5738,8 @@ public class ClientLoanIntegrationTest {
assertTrue(loanDetails.getStatus().getOverpaid());
} finally {
GlobalConfigurationHelper.updateIsBusinessDateEnabled(REQUEST_SPEC,
RESPONSE_SPEC, Boolean.FALSE);
+ GlobalConfigurationHelper.manageConfigurations(REQUEST_SPEC,
RESPONSE_SPEC,
+
GlobalConfigurationHelper.ENABLE_AUTOGENERATED_EXTERNAL_ID, false);
}
}
@@ -6256,65 +6274,69 @@ public class ClientLoanIntegrationTest {
.dateFormat(DATETIME_PATTERN).transactionDate("08
September 2022").locale("en").transactionAmount(3007.0));
} finally {
GlobalConfigurationHelper.updateIsBusinessDateEnabled(REQUEST_SPEC,
RESPONSE_SPEC, Boolean.FALSE);
+
GlobalConfigurationHelper.updateIsAutomaticExternalIdGenerationEnabled(REQUEST_SPEC,
RESPONSE_SPEC, false);
}
}
@Test
public void testCloseOpenMaturityDate() {
-
GlobalConfigurationHelper.updateIsAutomaticExternalIdGenerationEnabled(REQUEST_SPEC,
RESPONSE_SPEC, true);
- final Account assetAccount = ACCOUNT_HELPER.createAssetAccount();
- final Account incomeAccount = ACCOUNT_HELPER.createIncomeAccount();
- final Account expenseAccount = ACCOUNT_HELPER.createExpenseAccount();
- final Account overpaymentAccount =
ACCOUNT_HELPER.createLiabilityAccount();
-
- final Integer loanProductID =
createLoanProductWithPeriodicAccrualAccountingNoInterest(assetAccount,
incomeAccount, expenseAccount,
- overpaymentAccount);
+ try {
+
GlobalConfigurationHelper.updateIsAutomaticExternalIdGenerationEnabled(REQUEST_SPEC,
RESPONSE_SPEC, true);
+ final Account assetAccount = ACCOUNT_HELPER.createAssetAccount();
+ final Account incomeAccount = ACCOUNT_HELPER.createIncomeAccount();
+ final Account expenseAccount =
ACCOUNT_HELPER.createExpenseAccount();
+ final Account overpaymentAccount =
ACCOUNT_HELPER.createLiabilityAccount();
- final Integer clientID = ClientHelper.createClient(REQUEST_SPEC,
RESPONSE_SPEC, "01 January 2011");
+ final Integer loanProductID =
createLoanProductWithPeriodicAccrualAccountingNoInterest(assetAccount,
incomeAccount,
+ expenseAccount, overpaymentAccount);
- final Integer loanID = applyForLoanApplication(clientID,
loanProductID);
+ final Integer clientID = ClientHelper.createClient(REQUEST_SPEC,
RESPONSE_SPEC, "01 January 2011");
- HashMap<String, Object> loanStatusHashMap =
LoanStatusChecker.getStatusOfLoan(REQUEST_SPEC, RESPONSE_SPEC, loanID);
- LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
+ final Integer loanID = applyForLoanApplication(clientID,
loanProductID);
- loanStatusHashMap = LOAN_TRANSACTION_HELPER.approveLoan("02 September
2022", loanID);
- LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
- LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap);
+ HashMap<String, Object> loanStatusHashMap =
LoanStatusChecker.getStatusOfLoan(REQUEST_SPEC, RESPONSE_SPEC, loanID);
+ LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
- loanStatusHashMap =
LOAN_TRANSACTION_HELPER.disburseLoanWithNetDisbursalAmount("03 September 2022",
loanID, "1000");
- LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap);
+ loanStatusHashMap = LOAN_TRANSACTION_HELPER.approveLoan("02
September 2022", loanID);
+ LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
+
LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap);
- GetLoansLoanIdResponse loanDetails =
LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
- LocalDate expectedMaturityDate =
loanDetails.getTimeline().getExpectedMaturityDate();
- LocalDate actualMaturityDate =
loanDetails.getTimeline().getActualMaturityDate();
+ loanStatusHashMap =
LOAN_TRANSACTION_HELPER.disburseLoanWithNetDisbursalAmount("03 September 2022",
loanID, "1000");
+ LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap);
- assertTrue(expectedMaturityDate.isEqual(actualMaturityDate));
+ GetLoansLoanIdResponse loanDetails =
LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
+ LocalDate expectedMaturityDate =
loanDetails.getTimeline().getExpectedMaturityDate();
+ LocalDate actualMaturityDate =
loanDetails.getTimeline().getActualMaturityDate();
- LOAN_TRANSACTION_HELPER.makeRepayment("04 September 2022",
Float.parseFloat("500"), loanID);
- LOAN_TRANSACTION_HELPER.makeRepayment("05 September 2022",
Float.parseFloat("700"), loanID);
+ assertTrue(expectedMaturityDate.isEqual(actualMaturityDate));
- loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
+ LOAN_TRANSACTION_HELPER.makeRepayment("04 September 2022",
Float.parseFloat("500"), loanID);
+ LOAN_TRANSACTION_HELPER.makeRepayment("05 September 2022",
Float.parseFloat("700"), loanID);
- expectedMaturityDate =
loanDetails.getTimeline().getExpectedMaturityDate();
- actualMaturityDate = loanDetails.getTimeline().getActualMaturityDate();
+ loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long)
loanID);
- assertNotNull(expectedMaturityDate);
- assertNull(actualMaturityDate);
+ expectedMaturityDate =
loanDetails.getTimeline().getExpectedMaturityDate();
+ actualMaturityDate =
loanDetails.getTimeline().getActualMaturityDate();
- LOAN_TRANSACTION_HELPER.reverseLoanTransaction((long) loanID,
loanDetails.getTransactions().get(1).getId(),
- new
PostLoansLoanIdTransactionsTransactionIdRequest().dateFormat(DATETIME_PATTERN).transactionDate("04
September 2022")
- .transactionAmount(0.0).locale("en"));
+ assertNotNull(expectedMaturityDate);
+ assertNull(actualMaturityDate);
- loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
+ LOAN_TRANSACTION_HELPER.reverseLoanTransaction((long) loanID,
loanDetails.getTransactions().get(1).getId(),
+ new
PostLoansLoanIdTransactionsTransactionIdRequest().dateFormat(DATETIME_PATTERN).transactionDate("04
September 2022")
+ .transactionAmount(0.0).locale("en"));
- expectedMaturityDate =
loanDetails.getTimeline().getExpectedMaturityDate();
- actualMaturityDate = loanDetails.getTimeline().getActualMaturityDate();
+ loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long)
loanID);
- assertNotNull(expectedMaturityDate);
- assertNotNull(actualMaturityDate);
+ expectedMaturityDate =
loanDetails.getTimeline().getExpectedMaturityDate();
+ actualMaturityDate =
loanDetails.getTimeline().getActualMaturityDate();
- assertTrue(expectedMaturityDate.isEqual(actualMaturityDate));
+ assertNotNull(expectedMaturityDate);
+ assertNotNull(actualMaturityDate);
+ assertTrue(expectedMaturityDate.isEqual(actualMaturityDate));
+ } finally {
+
GlobalConfigurationHelper.updateIsAutomaticExternalIdGenerationEnabled(REQUEST_SPEC,
RESPONSE_SPEC, false);
+ }
}
@Test
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java
index 8923bcefe..1deff5dee 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java
@@ -2235,7 +2235,7 @@ public class ClientSavingsIntegrationTest {
Integer releaseTransactionId =
this.savingsAccountHelper.releaseAmount(savingsId, holdTransactionId);
Date today =
Date.from(Utils.getLocalDateOfTenant().atStartOfDay(Utils.getZoneIdOfTenant()).toInstant());
String todayDate = today.toString();
- SimpleDateFormat dt1 = new SimpleDateFormat("dd MMM yyyy");
+ SimpleDateFormat dt1 = new SimpleDateFormat("dd MMMM yyyy");
todayDate = dt1.format(today).toString();
withdrawTransactionId = (Integer)
this.savingsAccountHelper.withdrawalFromSavingsAccount(savingsId, "300",
todayDate,
CommonConstants.RESPONSE_RESOURCE_ID);
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountTransactionTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountTransactionTest.java
index ad52b84b1..e5661ea8f 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountTransactionTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountTransactionTest.java
@@ -50,7 +50,7 @@ import org.junit.jupiter.api.Test;
public class SavingsAccountTransactionTest {
public static final String ACCOUNT_TYPE_INDIVIDUAL = "INDIVIDUAL";
- public static final String DEFAULT_DATE_FORMAT = "dd MMM yyyy";
+ public static final String DEFAULT_DATE_FORMAT = "dd MMMM yyyy";
final String startDateString = "03 June 2023";
final String depositDateString = "05 June 2023";
final String withdrawDateString = "10 June 2023";
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountTransactionsSearchIntegrationTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountTransactionsSearchIntegrationTest.java
index 4be682d15..ca4c287fc 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountTransactionsSearchIntegrationTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountTransactionsSearchIntegrationTest.java
@@ -62,7 +62,7 @@ import org.springframework.data.domain.Sort;
public class SavingsAccountTransactionsSearchIntegrationTest {
public static final String ACCOUNT_TYPE_INDIVIDUAL = "INDIVIDUAL";
- public static final String DEFAULT_DATE_FORMAT = "dd MMM yyyy";
+ public static final String DEFAULT_DATE_FORMAT = "dd MMMM yyyy";
public static final Locale DEFAULT_LOCALE = Locale.ENGLISH;
final String startDate = "01 May 2023";
final String firstDepositDate = "05 May 2023";
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountsExternalIdTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountsExternalIdTest.java
index 8a068e2a7..8e22852d9 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountsExternalIdTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountsExternalIdTest.java
@@ -44,8 +44,7 @@ public class SavingsAccountsExternalIdTest extends
IntegrationTest {
public static final String EXTERNAL_ID = UUID.randomUUID().toString();
private final String dateFormat = "dd MMMM yyyy";
private final String locale = "en";
- private final String formattedDate =
LocalDate.now(ZoneId.systemDefault()).minusDays(5)
- .format(DateTimeFormatter.ofPattern("dd MMM yyyy"));
+ private final String formattedDate =
LocalDate.now(ZoneId.systemDefault()).minusDays(5).format(DateTimeFormatter.ofPattern(dateFormat));
@Test
@Order(1)
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountsTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountsTest.java
index c340785ae..6c8bfffbf 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountsTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsAccountsTest.java
@@ -42,7 +42,7 @@ public class SavingsAccountsTest extends IntegrationTest {
private static final Logger LOG =
LoggerFactory.getLogger(SavingsAccountsTest.class);
private final String dateFormat = "dd MMMM yyyy";
private final String locale = "en";
- private final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd
MMM yyyy");
+ private final SimpleDateFormat simpleDateFormat = new
SimpleDateFormat(dateFormat);
private final String formattedDate = simpleDateFormat.format(new Date());
private int savingId = 1;
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CenterDomain.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CenterDomain.java
index 5ec1af121..d882b733a 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CenterDomain.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CenterDomain.java
@@ -150,7 +150,7 @@ public class CenterDomain implements
Comparable<CenterDomain> {
if (active) {
map.put("active", "true");
map.put("locale", "en");
- map.put("dateFormat", "dd MMM yyyy");
+ map.put("dateFormat", "dd MMMM yyyy");
map.put("activationDate", activationDate);
} else {
map.put("active", "false");
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CenterHelper.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CenterHelper.java
index 413e64766..53bdfc758 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CenterHelper.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CenterHelper.java
@@ -113,7 +113,7 @@ public final class CenterHelper {
if (activationDate != null) {
hm.put("active", true);
hm.put("locale", "en");
- hm.put("dateFormat", "dd MMM yyyy");
+ hm.put("dateFormat", "dd MMMM yyyy");
hm.put("activationDate", activationDate);
}
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/DividendsIntegrationTests.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/DividendsIntegrationTests.java
index a4ecbc517..1c995beda 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/DividendsIntegrationTests.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/DividendsIntegrationTests.java
@@ -58,7 +58,7 @@ public class DividendsIntegrationTests {
@SuppressWarnings("unchecked")
@Test
public void testCreateDividends() {
- DateFormat simple = new SimpleDateFormat("dd MMM yyyy");
+ DateFormat simple = new SimpleDateFormat("dd MMMM yyyy");
final Integer productId = createShareProduct();
ArrayList<Integer> shareAccounts = new ArrayList<>();
for (int i = 0; i < 5; i++) {
@@ -109,12 +109,12 @@ public class DividendsIntegrationTests {
Calendar cal = Calendar.getInstance();
cal.set(startdateList.get(0), startdateList.get(1) - 1,
startdateList.get(2));
Date startDate = cal.getTime();
- Assertions.assertEquals("01 Jan 2015", simple.format(startDate));
+ Assertions.assertEquals("01 January 2015", simple.format(startDate));
List<Integer> enddateList = (List<Integer>)
dividend.get("dividendPeriodEndDate");
cal = Calendar.getInstance();
cal.set(enddateList.get(0), enddateList.get(1) - 1,
enddateList.get(2));
Date endDate = cal.getTime();
- Assertions.assertEquals("01 Apr 2016", simple.format(endDate));
+ Assertions.assertEquals("01 April 2016", simple.format(endDate));
Map<String, Object> dividenddetails =
ShareDividendsTransactionHelper.retrieveDividendDetails(productId, dividendId,
requestSpec,
responseSpec);
@@ -151,12 +151,12 @@ public class DividendsIntegrationTests {
cal = Calendar.getInstance();
cal.set(startdateList.get(0), startdateList.get(1) - 1,
startdateList.get(2));
startDate = cal.getTime();
- Assertions.assertEquals("01 Jan 2015", simple.format(startDate));
+ Assertions.assertEquals("01 January 2015", simple.format(startDate));
enddateList = (List<Integer>) dividend.get("dividendPeriodEndDate");
cal = Calendar.getInstance();
cal.set(enddateList.get(0), enddateList.get(1) - 1,
enddateList.get(2));
endDate = cal.getTime();
- Assertions.assertEquals("01 Apr 2016", simple.format(endDate));
+ Assertions.assertEquals("01 April 2016", simple.format(endDate));
dividenddetails =
ShareDividendsTransactionHelper.retrieveDividendDetails(productId, dividendId,
requestSpec, responseSpec);
Assertions.assertEquals("5",
String.valueOf(dividenddetails.get("totalFilteredRecords")));
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareAccountIntegrationTests.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareAccountIntegrationTests.java
index ff84125de..4da6723df 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareAccountIntegrationTests.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareAccountIntegrationTests.java
@@ -383,7 +383,7 @@ public class ShareAccountIntegrationTests {
Map<String, Object> shareAccountDataForUpdate = new HashMap<>();
shareAccountDataForUpdate.put("requestedShares", 30);
- shareAccountDataForUpdate.put("applicationDate", "02 Mar 2016");
+ shareAccountDataForUpdate.put("applicationDate", "02 March 2016");
shareAccountDataForUpdate.put("dateFormat", "dd MMMM yyyy");
shareAccountDataForUpdate.put("locale", "en_GB");
shareAccountDataForUpdate.put("charges", charges);
@@ -394,7 +394,7 @@ public class ShareAccountIntegrationTests {
List<Map<String, Object>> transactions = (List<Map<String, Object>>)
shareAccountData.get("purchasedShares");
Assertions.assertNotNull(transactions);
Assertions.assertEquals(2, transactions.size());
- DateFormat simple = new SimpleDateFormat("dd MMM yyyy");
+ DateFormat simple = new SimpleDateFormat("dd MMMM yyyy");
for (int i = 0; i < transactions.size(); i++) {
Map<String, Object> transaction = transactions.get(i);
Map<String, Object> transactionTypeMap = (Map<String, Object>)
transaction.get("type");
@@ -409,7 +409,7 @@ public class ShareAccountIntegrationTests {
Assertions.assertEquals("60.0",
String.valueOf(transaction.get("amountPaid")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("chargeAmount")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("purchasedPrice")));
- Assertions.assertEquals("02 Mar 2016", simple.format(date));
+ Assertions.assertEquals("02 March 2016", simple.format(date));
} else if (transactionType.equals("charge.payment")) {
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("amount")));
Assertions.assertEquals("0",
String.valueOf(transaction.get("amountPaid")));
@@ -444,7 +444,7 @@ public class ShareAccountIntegrationTests {
Map<String, Object> approveMap = new HashMap<>();
approveMap.put("note", "Share Account Approval Note");
approveMap.put("dateFormat", "dd MMMM yyyy");
- approveMap.put("approvedDate", "01 Jan 2016");
+ approveMap.put("approvedDate", "01 January 2016");
approveMap.put("locale", "en");
String approve = new Gson().toJson(approveMap);
ShareAccountTransactionHelper.postCommand("approve", shareAccountId,
approve, requestSpec, responseSpec);
@@ -456,7 +456,7 @@ public class ShareAccountIntegrationTests {
Calendar cal = Calendar.getInstance();
cal.set(dateList.get(0), dateList.get(1) - 1, dateList.get(2));
Date approvedDate = cal.getTime();
- Assertions.assertEquals("01 Jan 2016", simple.format(approvedDate));
+ Assertions.assertEquals("01 January 2016",
simple.format(approvedDate));
// charges verification
chargesList = (List<Map<String, Object>>)
shareAccountData.get("charges");
@@ -483,7 +483,7 @@ public class ShareAccountIntegrationTests {
Map<String, Object> activateMap = new HashMap<>();
activateMap.put("dateFormat", "dd MMMM yyyy");
- activateMap.put("activatedDate", "01 Jan 2016");
+ activateMap.put("activatedDate", "01 January 2016");
activateMap.put("locale", "en");
String activateJson = new Gson().toJson(activateMap);
ShareAccountTransactionHelper.postCommand("activate", shareAccountId,
activateJson, requestSpec, responseSpec);
@@ -495,7 +495,7 @@ public class ShareAccountIntegrationTests {
cal = Calendar.getInstance();
cal.set(dateList.get(0), dateList.get(1) - 1, dateList.get(2));
Date activatedDate = cal.getTime();
- Assertions.assertEquals("01 Jan 2016", simple.format(activatedDate));
+ Assertions.assertEquals("01 January 2016",
simple.format(activatedDate));
transactions = (List<Map<String, Object>>)
shareAccountData.get("purchasedShares");
Assertions.assertNotNull(transactions);
@@ -514,12 +514,12 @@ public class ShareAccountIntegrationTests {
Assertions.assertEquals("62.0",
String.valueOf(transaction.get("amountPaid")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("chargeAmount")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("purchasedPrice")));
- Assertions.assertEquals("02 Mar 2016", simple.format(date));
+ Assertions.assertEquals("02 March 2016", simple.format(date));
} else if (transactionType.equals("charge.payment")) {
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("amount")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("amountPaid")));
Assertions.assertEquals("0",
String.valueOf(transaction.get("chargeAmount")));
- Assertions.assertEquals("01 Jan 2016", simple.format(date));
+ Assertions.assertEquals("01 January 2016",
simple.format(date));
}
}
@@ -552,7 +552,7 @@ public class ShareAccountIntegrationTests {
// apply additional shares
Map<String, Object> additionalSharesRequestMap = new HashMap<>();
- additionalSharesRequestMap.put("requestedDate", "01 Apr 2016");
+ additionalSharesRequestMap.put("requestedDate", "01 April 2016");
additionalSharesRequestMap.put("dateFormat", "dd MMMM yyyy");
additionalSharesRequestMap.put("locale", "en");
additionalSharesRequestMap.put("requestedShares", "15");
@@ -573,13 +573,13 @@ public class ShareAccountIntegrationTests {
Date date = cal.getTime();
String transactionType = (String) transactionTypeMap.get("code");
String transactionDate = simple.format(date);
- if (transactionType.equals("purchasedSharesType.purchased") &&
transactionDate.equals("02 Mar 2016")) {
+ if (transactionType.equals("purchasedSharesType.purchased") &&
transactionDate.equals("02 March 2016")) {
Assertions.assertEquals("30",
String.valueOf(transaction.get("numberOfShares")));
Assertions.assertEquals("62.0",
String.valueOf(transaction.get("amount")));
Assertions.assertEquals("62.0",
String.valueOf(transaction.get("amountPaid")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("chargeAmount")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("purchasedPrice")));
- } else if (transactionType.equals("purchasedSharesType.purchased")
&& transactionDate.equals("01 Apr 2016")) {
+ } else if (transactionType.equals("purchasedSharesType.purchased")
&& transactionDate.equals("01 April 2016")) {
addtionalSharesRequestId =
String.valueOf(transaction.get("id"));
Assertions.assertEquals("15",
String.valueOf(transaction.get("numberOfShares")));
Assertions.assertEquals("32.0",
String.valueOf(transaction.get("amount")));
@@ -593,7 +593,7 @@ public class ShareAccountIntegrationTests {
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("amount")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("amountPaid")));
Assertions.assertEquals("0",
String.valueOf(transaction.get("chargeAmount")));
- Assertions.assertEquals("01 Jan 2016", transactionDate);
+ Assertions.assertEquals("01 January 2016", transactionDate);
}
}
@@ -648,13 +648,13 @@ public class ShareAccountIntegrationTests {
Date date = cal.getTime();
String transactionType = (String) transactionTypeMap.get("code");
String transactionDate = simple.format(date);
- if (transactionType.equals("purchasedSharesType.purchased") &&
transactionDate.equals("02 Mar 2016")) {
+ if (transactionType.equals("purchasedSharesType.purchased") &&
transactionDate.equals("02 March 2016")) {
Assertions.assertEquals("30",
String.valueOf(transaction.get("numberOfShares")));
Assertions.assertEquals("62.0",
String.valueOf(transaction.get("amount")));
Assertions.assertEquals("62.0",
String.valueOf(transaction.get("amountPaid")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("chargeAmount")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("purchasedPrice")));
- } else if (transactionType.equals("purchasedSharesType.purchased")
&& transactionDate.equals("01 Apr 2016")) {
+ } else if (transactionType.equals("purchasedSharesType.purchased")
&& transactionDate.equals("01 April 2016")) {
Assertions.assertEquals("15",
String.valueOf(transaction.get("numberOfShares")));
Assertions.assertEquals("32.0",
String.valueOf(transaction.get("amount")));
Assertions.assertEquals("32.0",
String.valueOf(transaction.get("amountPaid")));
@@ -667,7 +667,7 @@ public class ShareAccountIntegrationTests {
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("amount")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("amountPaid")));
Assertions.assertEquals("0",
String.valueOf(transaction.get("chargeAmount")));
- Assertions.assertEquals("01 Jan 2016", transactionDate);
+ Assertions.assertEquals("01 January 2016", transactionDate);
}
}
@@ -843,13 +843,13 @@ public class ShareAccountIntegrationTests {
Date date = cal.getTime();
String transactionType = (String) transactionTypeMap.get("code");
String transactionDate = simple.format(date);
- if (transactionType.equals("purchasedSharesType.purchased") &&
transactionDate.equals("02 Mar 2016")) {
+ if (transactionType.equals("purchasedSharesType.purchased") &&
transactionDate.equals("02 March 2016")) {
Assertions.assertEquals("30",
String.valueOf(transaction.get("numberOfShares")));
Assertions.assertEquals("62.0",
String.valueOf(transaction.get("amount")));
Assertions.assertEquals("62.0",
String.valueOf(transaction.get("amountPaid")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("chargeAmount")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("purchasedPrice")));
- } else if (transactionType.equals("purchasedSharesType.purchased")
&& transactionDate.equals("01 Apr 2016")) {
+ } else if (transactionType.equals("purchasedSharesType.purchased")
&& transactionDate.equals("01 April 2016")) {
Assertions.assertEquals("15",
String.valueOf(transaction.get("numberOfShares")));
Assertions.assertEquals("32.0",
String.valueOf(transaction.get("amount")));
Assertions.assertEquals("32.0",
String.valueOf(transaction.get("amountPaid")));
@@ -868,7 +868,7 @@ public class ShareAccountIntegrationTests {
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("amount")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("amountPaid")));
Assertions.assertEquals("0",
String.valueOf(transaction.get("chargeAmount")));
- Assertions.assertEquals("01 Jan 2016", transactionDate);
+ Assertions.assertEquals("01 January 2016", transactionDate);
}
}
@@ -921,13 +921,13 @@ public class ShareAccountIntegrationTests {
Date date = cal.getTime();
String transactionType = (String) transactionTypeMap.get("code");
String transactionDate = simple.format(date);
- if (transactionType.equals("purchasedSharesType.purchased") &&
transactionDate.equals("02 Mar 2016")) {
+ if (transactionType.equals("purchasedSharesType.purchased") &&
transactionDate.equals("02 March 2016")) {
Assertions.assertEquals("30",
String.valueOf(transaction.get("numberOfShares")));
Assertions.assertEquals("62.0",
String.valueOf(transaction.get("amount")));
Assertions.assertEquals("62.0",
String.valueOf(transaction.get("amountPaid")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("chargeAmount")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("purchasedPrice")));
- } else if (transactionType.equals("purchasedSharesType.purchased")
&& transactionDate.equals("01 Apr 2016")) {
+ } else if (transactionType.equals("purchasedSharesType.purchased")
&& transactionDate.equals("01 April 2016")) {
Assertions.assertEquals("15",
String.valueOf(transaction.get("numberOfShares")));
Assertions.assertEquals("32.0",
String.valueOf(transaction.get("amount")));
Assertions.assertEquals("32.0",
String.valueOf(transaction.get("amountPaid")));
@@ -953,7 +953,7 @@ public class ShareAccountIntegrationTests {
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("amount")));
Assertions.assertEquals("2.0",
String.valueOf(transaction.get("amountPaid")));
Assertions.assertEquals("0",
String.valueOf(transaction.get("chargeAmount")));
- Assertions.assertEquals("01 Jan 2016", transactionDate);
+ Assertions.assertEquals("01 January 2016", transactionDate);
}
}
// charges verification
@@ -990,16 +990,16 @@ public class ShareAccountIntegrationTests {
private Integer createShareAccount(final Integer clientId, final Integer
productId, final Integer savingsAccountId) {
String josn = new
ShareAccountHelper().withClientId(String.valueOf(clientId)).withProductId(String.valueOf(productId))
-
.withExternalId("External1").withSavingsAccountId(String.valueOf(savingsAccountId)).withSubmittedDate("01
Jan 2016")
- .withApplicationDate("01 Jan
2016").withRequestedShares("25").build();
+
.withExternalId("External1").withSavingsAccountId(String.valueOf(savingsAccountId)).withSubmittedDate("01
January 2016")
+ .withApplicationDate("01 January
2016").withRequestedShares("25").build();
return ShareAccountTransactionHelper.createShareAccount(josn,
requestSpec, responseSpec);
}
private Integer createShareAccount(final Integer clientId, final Integer
productId, final Integer savingsAccountId,
List<Map<String, Object>> charges) {
String josn = new
ShareAccountHelper().withClientId(String.valueOf(clientId)).withProductId(String.valueOf(productId))
-
.withExternalId("External1").withSavingsAccountId(String.valueOf(savingsAccountId)).withSubmittedDate("01
Jan 2016")
- .withApplicationDate("01 Jan
2016").withRequestedShares("25").withCharges(charges).build();
+
.withExternalId("External1").withSavingsAccountId(String.valueOf(savingsAccountId)).withSubmittedDate("01
January 2016")
+ .withApplicationDate("01 January
2016").withRequestedShares("25").withCharges(charges).build();
return ShareAccountTransactionHelper.createShareAccount(josn,
requestSpec, responseSpec);
}