You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ra...@apache.org on 2016/05/11 07:48:33 UTC

incubator-fineract git commit: [FINERACT-152][FINERACT-153] - Dormant Savings Issues Corrections

Repository: incubator-fineract
Updated Branches:
  refs/heads/develop d2b853561 -> 9353a5201


[FINERACT-152][FINERACT-153] - Dormant Savings Issues Corrections


Project: http://git-wip-us.apache.org/repos/asf/incubator-fineract/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-fineract/commit/9353a520
Tree: http://git-wip-us.apache.org/repos/asf/incubator-fineract/tree/9353a520
Diff: http://git-wip-us.apache.org/repos/asf/incubator-fineract/diff/9353a520

Branch: refs/heads/develop
Commit: 9353a520138bae12532061a3b90518b03c3c7fa7
Parents: d2b8535
Author: Adi Narayana Raju <ad...@confluxtechnologies.com>
Authored: Wed May 11 13:15:29 2016 +0530
Committer: Adi Narayana Raju <ad...@confluxtechnologies.com>
Committed: Wed May 11 13:15:29 2016 +0530

----------------------------------------------------------------------
 .../AccountingScenarioIntegrationTest.java              |  2 +-
 .../integrationtests/ClientSavingsIntegrationTest.java  | 12 ++++++------
 .../integrationtests/GroupSavingsIntegrationTest.java   |  8 ++++----
 .../integrationtests/SchedulerJobsTestResults.java      |  4 ++--
 .../common/savings/SavingsAccountHelper.java            | 10 ++++++----
 .../portfolio/savings/domain/SavingsAccountCharge.java  |  3 ---
 ...ngsAccountWritePlatformServiceJpaRepositoryImpl.java |  5 +----
 7 files changed, 20 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/9353a520/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/AccountingScenarioIntegrationTest.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/AccountingScenarioIntegrationTest.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/AccountingScenarioIntegrationTest.java
index f86bc32..d720652 100644
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/AccountingScenarioIntegrationTest.java
+++ b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/AccountingScenarioIntegrationTest.java
@@ -314,7 +314,7 @@ public class AccountingScenarioIntegrationTest {
                 ChargesHelper.getSavingsWithdrawalFeeJSON());
         Assert.assertNotNull(withdrawalChargeId);
 
-        this.savingsAccountHelper.addChargesForSavings(savingsID, withdrawalChargeId);
+        this.savingsAccountHelper.addChargesForSavings(savingsID, withdrawalChargeId, false);
         ArrayList<HashMap> chargesPendingState = this.savingsAccountHelper.getSavingsCharges(savingsID);
         Assert.assertEquals(1, chargesPendingState.size());
         HashMap savingsChargeForPay = chargesPendingState.get(0);

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/9353a520/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java
index ef8a19f..8ac2227 100755
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java
+++ b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java
@@ -238,7 +238,7 @@ public class ClientSavingsIntegrationTest {
                 ChargesHelper.getSavingsActivationFeeJSON());
         Assert.assertNotNull(savingsActivationChargeId);
 
-        this.savingsAccountHelper.addChargesForSavings(savingsId, savingsActivationChargeId);
+        this.savingsAccountHelper.addChargesForSavings(savingsId, savingsActivationChargeId, true);
 
         savingsStatusHashMap = this.savingsAccountHelper.approveSavings(savingsId);
         SavingsStatusChecker.verifySavingsIsApproved(savingsStatusHashMap);
@@ -521,7 +521,7 @@ public class ClientSavingsIntegrationTest {
                 ChargesHelper.getSavingsWithdrawalFeeJSON());
         Assert.assertNotNull(withdrawalChargeId);
 
-        this.savingsAccountHelper.addChargesForSavings(savingsId, withdrawalChargeId);
+        this.savingsAccountHelper.addChargesForSavings(savingsId, withdrawalChargeId, false);
         ArrayList<HashMap> chargesPendingState = this.savingsAccountHelper.getSavingsCharges(savingsId);
         Assert.assertEquals(1, chargesPendingState.size());
 
@@ -547,7 +547,7 @@ public class ClientSavingsIntegrationTest {
         ArrayList<HashMap> charges = this.savingsAccountHelper.getSavingsCharges(savingsId);
         Assert.assertTrue(charges == null || charges.size() == 0);
 
-        this.savingsAccountHelper.addChargesForSavings(savingsId, chargeId);
+        this.savingsAccountHelper.addChargesForSavings(savingsId, chargeId, true);
         charges = this.savingsAccountHelper.getSavingsCharges(savingsId);
         Assert.assertEquals(1, charges.size());
 
@@ -592,7 +592,7 @@ public class ClientSavingsIntegrationTest {
                 ChargesHelper.getSavingsMonthlyFeeJSON());
         Assert.assertNotNull(monthlyFeechargeId);
 
-        this.savingsAccountHelper.addChargesForSavings(savingsId, monthlyFeechargeId);
+        this.savingsAccountHelper.addChargesForSavings(savingsId, monthlyFeechargeId, true);
         charges = this.savingsAccountHelper.getSavingsCharges(savingsId);
         Assert.assertEquals(2, charges.size());
 
@@ -618,7 +618,7 @@ public class ClientSavingsIntegrationTest {
                 ChargesHelper.getSavingsWeeklyFeeJSON());
         Assert.assertNotNull(weeklyFeeId);
 
-        this.savingsAccountHelper.addChargesForSavings(savingsId, weeklyFeeId);
+        this.savingsAccountHelper.addChargesForSavings(savingsId, weeklyFeeId, true);
         charges = this.savingsAccountHelper.getSavingsCharges(savingsId);
         Assert.assertEquals(3, charges.size());
 
@@ -924,7 +924,7 @@ public class ClientSavingsIntegrationTest {
                     ACCOUNT_TYPE_INDIVIDUAL);
             Assert.assertTrue(modifications.containsKey("submittedOnDate"));
 
-            this.savingsAccountHelper.addChargesForSavings(savingsId, savingsChargeId);
+            this.savingsAccountHelper.addChargesForSavings(savingsId, savingsChargeId, false);
 
             HashMap savingsStatusHashMap = SavingsStatusChecker.getStatusOfSavings(this.requestSpec, this.responseSpec, savingsId);
             SavingsStatusChecker.verifySavingsIsPending(savingsStatusHashMap);

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/9353a520/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GroupSavingsIntegrationTest.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GroupSavingsIntegrationTest.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GroupSavingsIntegrationTest.java
index 1c9ffee..793de1b 100644
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GroupSavingsIntegrationTest.java
+++ b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GroupSavingsIntegrationTest.java
@@ -439,7 +439,7 @@ public class GroupSavingsIntegrationTest {
                 ChargesHelper.getSavingsWithdrawalFeeJSON());
         Assert.assertNotNull(withdrawalChargeId);
 
-        this.savingsAccountHelper.addChargesForSavings(savingsId, withdrawalChargeId);
+        this.savingsAccountHelper.addChargesForSavings(savingsId, withdrawalChargeId, false);
         ArrayList<HashMap> chargesPendingState = this.savingsAccountHelper.getSavingsCharges(savingsId);
         Assert.assertEquals(1, chargesPendingState.size());
 
@@ -465,7 +465,7 @@ public class GroupSavingsIntegrationTest {
         ArrayList<HashMap> charges = this.savingsAccountHelper.getSavingsCharges(savingsId);
         Assert.assertTrue(charges == null || charges.size() == 0);
 
-        this.savingsAccountHelper.addChargesForSavings(savingsId, chargeId);
+        this.savingsAccountHelper.addChargesForSavings(savingsId, chargeId, true);
         charges = this.savingsAccountHelper.getSavingsCharges(savingsId);
         Assert.assertEquals(1, charges.size());
 
@@ -486,7 +486,7 @@ public class GroupSavingsIntegrationTest {
                 ChargesHelper.getSavingsMonthlyFeeJSON());
         Assert.assertNotNull(monthlyFeechargeId);
 
-        this.savingsAccountHelper.addChargesForSavings(savingsId, monthlyFeechargeId);
+        this.savingsAccountHelper.addChargesForSavings(savingsId, monthlyFeechargeId, true);
         charges = this.savingsAccountHelper.getSavingsCharges(savingsId);
         Assert.assertEquals(2, charges.size());
 
@@ -504,7 +504,7 @@ public class GroupSavingsIntegrationTest {
         final Integer weeklyFeeId = ChargesHelper.createCharges(this.requestSpec, this.responseSpec, ChargesHelper.getSavingsWeeklyFeeJSON());
         Assert.assertNotNull(weeklyFeeId);
         
-        this.savingsAccountHelper.addChargesForSavings(savingsId, weeklyFeeId);
+        this.savingsAccountHelper.addChargesForSavings(savingsId, weeklyFeeId, true);
         charges = this.savingsAccountHelper.getSavingsCharges(savingsId);
         Assert.assertEquals(3, charges.size());
 

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/9353a520/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SchedulerJobsTestResults.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SchedulerJobsTestResults.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SchedulerJobsTestResults.java
index cc6b3c8..2cc98b3 100644
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SchedulerJobsTestResults.java
+++ b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SchedulerJobsTestResults.java
@@ -126,7 +126,7 @@ public class SchedulerJobsTestResults {
                 ChargesHelper.getSavingsAnnualFeeJSON());
         Assert.assertNotNull(annualFeeChargeId);
 
-        this.savingsAccountHelper.addChargesForSavings(savingsId, annualFeeChargeId);
+        this.savingsAccountHelper.addChargesForSavings(savingsId, annualFeeChargeId, true);
         ArrayList<HashMap> chargesPendingState = this.savingsAccountHelper.getSavingsCharges(savingsId);
         Assert.assertEquals(1, chargesPendingState.size());
 
@@ -347,7 +347,7 @@ public class SchedulerJobsTestResults {
                 ChargesHelper.getSavingsSpecifiedDueDateJSON());
         Assert.assertNotNull(specifiedDueDateChargeId);
 
-        this.savingsAccountHelper.addChargesForSavings(savingsId, specifiedDueDateChargeId);
+        this.savingsAccountHelper.addChargesForSavings(savingsId, specifiedDueDateChargeId, true);
         ArrayList<HashMap> chargesPendingState = this.savingsAccountHelper.getSavingsCharges(savingsId);
         Assert.assertEquals(1, chargesPendingState.size());
 

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/9353a520/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/SavingsAccountHelper.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/SavingsAccountHelper.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/SavingsAccountHelper.java
index 7624738..07917d5 100644
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/SavingsAccountHelper.java
+++ b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/SavingsAccountHelper.java
@@ -196,10 +196,10 @@ public class SavingsAccountHelper {
                 getCalculatedInterestForSavingsApplicationAsJSON(), "");
     }
 
-    public Integer addChargesForSavings(final Integer savingsId, final Integer chargeId) {
+    public Integer addChargesForSavings(final Integer savingsId, final Integer chargeId, boolean addDueDate) {
         System.out.println("--------------------------------- ADD CHARGES FOR SAVINGS --------------------------------");
         return (Integer) performSavingActions(SAVINGS_ACCOUNT_URL + "/" + savingsId + "/charges?" + Utils.TENANT_IDENTIFIER,
-                getPeriodChargeRequestJSON(chargeId), CommonConstants.RESPONSE_RESOURCE_ID);
+                getPeriodChargeRequestJSON(chargeId, addDueDate), CommonConstants.RESPONSE_RESOURCE_ID);
     }
 
     public Integer payCharge(final Integer chargeId, final Integer savingsId, String amount, String dueDate) {
@@ -419,7 +419,7 @@ public class SavingsAccountHelper {
                 getCloseAccountJSON(withdrawBalance, closedOnDate), jsonAttributeToGetBack);
     }
 
-    private String getPeriodChargeRequestJSON(Integer chargeId) {
+    private String getPeriodChargeRequestJSON(Integer chargeId, boolean addDueDate) {
         final HashMap<String, Object> map = new HashMap<>();
         map.put("chargeId", chargeId);
         map.put("amount", 100);
@@ -427,7 +427,9 @@ public class SavingsAccountHelper {
         map.put("locale", CommonConstants.locale);
         map.put("monthDayFormat", "dd MMMM");
         map.put("dateFormat", "dd MMMM yyy");
-        map.put("dueDate", "10 January 2013");
+        if(addDueDate){
+            map.put("dueDate", "10 January 2013");
+        }
         String json = new Gson().toJson(map);
         return json;
     }

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/9353a520/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountCharge.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountCharge.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountCharge.java
index f7c048d..babb65b 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountCharge.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountCharge.java
@@ -226,9 +226,6 @@ public class SavingsAccountCharge extends AbstractPersistable<Long> {
         populateDerivedFields(transactionAmount, chargeAmount);
 
         if (this.isWithdrawalFee()
-        		|| this.isOverdraftFee()
-        		|| this.isSavingsActivation()
-        		|| this.isSavingsClosure()
         		|| this.isSavingsNoActivity()) {
             this.amountOutstanding = BigDecimal.ZERO;
         }

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/9353a520/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java
index 7bc0311..ff757d8 100755
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java
@@ -789,10 +789,7 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi
         Integer chargeTimeType = chargeDefinition.getChargeTimeType();
         LocalDate dueAsOfDateParam = command.localDateValueOfParameterNamed(dueAsOfDateParamName);
         if((chargeTimeType.equals(ChargeTimeType.WITHDRAWAL_FEE.getValue())
-        		|| chargeTimeType.equals(ChargeTimeType.OVERDRAFT_FEE.getValue())
-        		|| chargeTimeType.equals(ChargeTimeType.SAVINGS_ACTIVATION.getValue())
-        		|| chargeTimeType.equals(ChargeTimeType.SAVINGS_NOACTIVITY_FEE.getValue())
-        		|| chargeTimeType.equals(ChargeTimeType.SAVINGS_CLOSURE.getValue()))
+        		|| chargeTimeType.equals(ChargeTimeType.SAVINGS_NOACTIVITY_FEE.getValue()))
         		&& dueAsOfDateParam != null){
             baseDataValidator.reset().parameter(dueAsOfDateParamName).value(dueAsOfDateParam.toString(fmt))
             .failWithCodeNoParameterAddedToErrorCode("charge.due.date.is.invalid.for." + ChargeTimeType.fromInt(chargeTimeType).getCode());