This is an automated email from the ASF dual-hosted git repository.
manojvm 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 f576c3f07 FINERACT-1613:Savings Interest Posting Job
new 18a44d761 Merge pull request #2336 from logoutdhaval/fineract-1613
f576c3f07 is described below
commit f576c3f07f432ab345d024bc1d0ed234fd13f045
Author: logoutdhaval <[email protected]>
AuthorDate: Fri May 27 13:17:01 2022 +0530
FINERACT-1613:Savings Interest Posting Job
---
.../savings/data/SavingsAccountSummaryData.java | 4 ++++
.../service/SavingsSchedularInterestPoster.java | 2 +-
.../SavingsInterestPostingJobIntegrationTest.java | 26 ++++++++++++++++++++++
3 files changed, 31 insertions(+), 1 deletion(-)
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountSummaryData.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountSummaryData.java
index 2cb810b15..5452164cc 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountSummaryData.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountSummaryData.java
@@ -121,6 +121,10 @@ public class SavingsAccountSummaryData implements
Serializable {
return this.availableBalance;
}
+ public BigDecimal getAccountBalance() {
+ return accountBalance;
+ }
+
public BigDecimal getTotalOverdraftInterestDerived() {
return this.totalOverdraftInterestDerived;
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsSchedularInterestPoster.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsSchedularInterestPoster.java
index ae896230f..f70b6456f 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsSchedularInterestPoster.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsSchedularInterestPoster.java
@@ -302,7 +302,7 @@ public class SavingsSchedularInterestPoster implements
Callable<Void> {
savingsAccountSummaryData.getTotalWithdrawals(),
savingsAccountSummaryData.getTotalInterestEarned(),
savingsAccountSummaryData.getTotalInterestPosted(),
savingsAccountSummaryData.getTotalWithdrawalFees(),
savingsAccountSummaryData.getTotalFeeCharge(),
savingsAccountSummaryData.getTotalPenaltyCharge(),
- savingsAccountSummaryData.getTotalAnnualFees(),
savingsAccountSummaryData.getAvailableBalance(),
+ savingsAccountSummaryData.getTotalAnnualFees(),
savingsAccountSummaryData.getAccountBalance(),
savingsAccountSummaryData.getTotalOverdraftInterestDerived(),
savingsAccountSummaryData.getTotalWithholdTax(),
Date.from(savingsAccountSummaryData.getLastInterestCalculationDate().atStartOfDay(DateUtils.getDateTimeZoneOfTenant())
.toInstant()),
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsInterestPostingJobIntegrationTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsInterestPostingJobIntegrationTest.java
index d92213c06..4a2925d7c 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsInterestPostingJobIntegrationTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SavingsInterestPostingJobIntegrationTest.java
@@ -65,6 +65,32 @@ public class SavingsInterestPostingJobIntegrationTest {
this.scheduleJobHelper = new SchedulerJobHelper(requestSpec);
}
+ @Test
+ public void testSavingsBalanceCheckAfterDailyInterestPostingJob() {
+ // client activation, savings activation and 1st transaction date
+ final String startDate = "10 April 2022";
+ final String jobName = "Post Interest For Savings";
+ final Integer clientID = ClientHelper.createClient(this.requestSpec,
this.responseSpec, startDate);
+ Assertions.assertNotNull(clientID);
+
+ final Integer savingsId = createSavingsAccountDailyPosting(clientID,
startDate);
+
+ this.savingsAccountHelper.depositToSavingsAccount(savingsId, "10000",
startDate, CommonConstants.RESPONSE_RESOURCE_ID);
+
+ /***
+ * Runs Post interest posting job and verify the new account created
with accounting configuration set as none
+ * is picked up by job
+ */
+ this.scheduleJobHelper.executeAndAwaitJob(jobName);
+ Object transactionObj =
this.savingsAccountHelper.getSavingsDetails(savingsId, "transactions");
+ ArrayList<HashMap<String, Object>> transactions =
(ArrayList<HashMap<String, Object>>) transactionObj;
+ HashMap<String, Object> interestPostingTransaction =
transactions.get(transactions.size() - 48);
+ for (Map.Entry<String, Object> entry :
interestPostingTransaction.entrySet()) {
+ LOG.info("{} - {}", entry.getKey(), entry.getValue().toString());
+ }
+ assertEquals("10129.582",
interestPostingTransaction.get("runningBalance").toString(), "Equality check
for Balance");
+ }
+
@Test
public void testSavingsDailyInterestPostingJob() {
// client activation, savings activation and 1st transaction date