Refactoring
This commit is contained in:
+4
-4
@@ -38,11 +38,11 @@ public class ClientLoanIntegrationTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void checkClientLoanCreateAndDisburseFlow(){
|
public void checkClientLoanCreateAndDisburseFlow(){
|
||||||
Integer clientID = ClientBuilder.createClient(requestSpec, responseSpec);
|
Integer clientID = ClientHelper.createClient(requestSpec, responseSpec);
|
||||||
ClientBuilder.verifyClientCreatedOnServer(requestSpec, responseSpec, clientID);
|
ClientHelper.verifyClientCreatedOnServer(requestSpec, responseSpec, clientID);
|
||||||
|
|
||||||
Integer loanProductID = createLoanProduct();
|
Integer loanProductID = createLoanProduct();
|
||||||
Integer loanID= applyForLoanApplication(clientID, loanProductID);
|
Integer loanID = applyForLoanApplication(clientID, loanProductID);
|
||||||
|
|
||||||
ArrayList <HashMap> loanSchedule = LoanTransactionHelper.getLoanRepaymentSchedule(requestSpec, responseSpec, loanID);
|
ArrayList <HashMap> loanSchedule = LoanTransactionHelper.getLoanRepaymentSchedule(requestSpec, responseSpec, loanID);
|
||||||
verifyLoanRepaymentSchedule(loanSchedule);
|
verifyLoanRepaymentSchedule(loanSchedule);
|
||||||
@@ -81,7 +81,7 @@ public class ClientLoanIntegrationTest {
|
|||||||
.withInterestCalculationPeriodTypeSameAsRepaymentPeriod()
|
.withInterestCalculationPeriodTypeSameAsRepaymentPeriod()
|
||||||
.withExpectedDisbursementDate("20 September 2011")
|
.withExpectedDisbursementDate("20 September 2011")
|
||||||
.withSubmittedOnDate("20 September 2011")
|
.withSubmittedOnDate("20 September 2011")
|
||||||
.Build(clientID.toString(),loanProductID.toString());
|
.build(clientID.toString(), loanProductID.toString());
|
||||||
return LoanTransactionHelper.getLoanId(requestSpec, responseSpec, loanApplicationJSON);
|
return LoanTransactionHelper.getLoanId(requestSpec, responseSpec, loanApplicationJSON);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+12
-21
@@ -1,25 +1,19 @@
|
|||||||
package org.mifosplatform.integrationtests;
|
package org.mifosplatform.integrationtests;
|
||||||
|
|
||||||
import static com.jayway.restassured.RestAssured.given;
|
|
||||||
import static com.jayway.restassured.RestAssured.post;
|
|
||||||
import static com.jayway.restassured.path.json.JsonPath.from;
|
|
||||||
import static junit.framework.Assert.assertEquals;
|
|
||||||
import static org.junit.Assert.assertFalse;
|
|
||||||
import static org.junit.Assert.assertTrue;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
import org.junit.Before;
|
|
||||||
import org.junit.Test;
|
|
||||||
|
|
||||||
import com.jayway.restassured.builder.RequestSpecBuilder;
|
import com.jayway.restassured.builder.RequestSpecBuilder;
|
||||||
import com.jayway.restassured.builder.ResponseSpecBuilder;
|
import com.jayway.restassured.builder.ResponseSpecBuilder;
|
||||||
import com.jayway.restassured.http.ContentType;
|
import com.jayway.restassured.http.ContentType;
|
||||||
import com.jayway.restassured.specification.RequestSpecification;
|
import com.jayway.restassured.specification.RequestSpecification;
|
||||||
import com.jayway.restassured.specification.ResponseSpecification;
|
import com.jayway.restassured.specification.ResponseSpecification;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
import org.mifosplatform.integrationtests.common.*;
|
import org.mifosplatform.integrationtests.common.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import static junit.framework.Assert.assertEquals;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Client Loan Integration Test for checking Loan Disbursement with Waive Interest and Write-Off.
|
* Client Loan Integration Test for checking Loan Disbursement with Waive Interest and Write-Off.
|
||||||
*/
|
*/
|
||||||
@@ -55,8 +49,8 @@ public class LoanWithWaiveInterestAndWriteOff {
|
|||||||
@Test
|
@Test
|
||||||
public void checkClientLoanCreateAndDisburseFlow(){
|
public void checkClientLoanCreateAndDisburseFlow(){
|
||||||
//CREATE CLIENT
|
//CREATE CLIENT
|
||||||
Integer clientID = ClientBuilder.createClient(requestSpec, responseSpec, DATE_OF_JOINING);
|
Integer clientID = ClientHelper.createClient(requestSpec, responseSpec, DATE_OF_JOINING);
|
||||||
ClientBuilder.verifyClientCreatedOnServer(requestSpec, responseSpec, clientID);
|
ClientHelper.verifyClientCreatedOnServer(requestSpec, responseSpec, clientID);
|
||||||
|
|
||||||
//CREATE LOAN PRODUCT
|
//CREATE LOAN PRODUCT
|
||||||
Integer loanProductID = createLoanProduct();
|
Integer loanProductID = createLoanProduct();
|
||||||
@@ -66,7 +60,6 @@ public class LoanWithWaiveInterestAndWriteOff {
|
|||||||
|
|
||||||
LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
|
LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
|
||||||
|
|
||||||
//APPROVE LOAN
|
|
||||||
System.out.println("-----------------------------------APPROVE LOAN-----------------------------------------");
|
System.out.println("-----------------------------------APPROVE LOAN-----------------------------------------");
|
||||||
loanStatusHashMap = LoanTransactionHelper.approveLoan(requestSpec, responseSpec, "28 September 2010", loanID);
|
loanStatusHashMap = LoanTransactionHelper.approveLoan(requestSpec, responseSpec, "28 September 2010", loanID);
|
||||||
LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
|
LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
|
||||||
@@ -76,8 +69,7 @@ public class LoanWithWaiveInterestAndWriteOff {
|
|||||||
loanStatusHashMap = LoanTransactionHelper.undoApproval(requestSpec, responseSpec, loanID);
|
loanStatusHashMap = LoanTransactionHelper.undoApproval(requestSpec, responseSpec, loanID);
|
||||||
LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
|
LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap);
|
||||||
|
|
||||||
//RE-APPROVE LOAN ON 1 OCTOBER 2010
|
System.out.println("-----------------------------------RE-APPROVE LOAN-----------------------------------------");
|
||||||
System.out.println("-----------------------------------APPROVE LOAN-----------------------------------------");
|
|
||||||
loanStatusHashMap = LoanTransactionHelper.approveLoan(requestSpec, responseSpec, "1 October 2010", loanID);
|
loanStatusHashMap = LoanTransactionHelper.approveLoan(requestSpec, responseSpec, "1 October 2010", loanID);
|
||||||
LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
|
LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap);
|
||||||
LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap);
|
LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap);
|
||||||
@@ -107,10 +99,9 @@ public class LoanWithWaiveInterestAndWriteOff {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void verifyRepaymentScheduleEntryFor(int repaymentNumber, float expectedPrincipalOutstanding ,Integer loanID) {
|
private void verifyRepaymentScheduleEntryFor(int repaymentNumber, float expectedPrincipalOutstanding, Integer loanID) {
|
||||||
System.out.println("---------------------------GETTING LOAN REPAYMENT SCHEDULE--------------------------------");
|
System.out.println("---------------------------GETTING LOAN REPAYMENT SCHEDULE--------------------------------");
|
||||||
ArrayList<HashMap> repaymentPeriods = LoanTransactionHelper.getLoanRepaymentSchedule(requestSpec, responseSpec, loanID);
|
ArrayList<HashMap> repaymentPeriods = LoanTransactionHelper.getLoanRepaymentSchedule(requestSpec, responseSpec, loanID);
|
||||||
System.out.println("**********RESPOSE : "+repaymentPeriods);
|
|
||||||
assertEquals(expectedPrincipalOutstanding,repaymentPeriods.get(repaymentNumber).get("principalLoanBalanceOutstanding"));
|
assertEquals(expectedPrincipalOutstanding,repaymentPeriods.get(repaymentNumber).get("principalLoanBalanceOutstanding"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,7 +138,7 @@ public class LoanWithWaiveInterestAndWriteOff {
|
|||||||
.withInterestCalculationPeriodTypeSameAsRepaymentPeriod()
|
.withInterestCalculationPeriodTypeSameAsRepaymentPeriod()
|
||||||
.withExpectedDisbursementDate(EXPECTED_DISBURSAL_DATE)
|
.withExpectedDisbursementDate(EXPECTED_DISBURSAL_DATE)
|
||||||
.withSubmittedOnDate(LOAN_APPLICATION_SUBMISSION_DATE)
|
.withSubmittedOnDate(LOAN_APPLICATION_SUBMISSION_DATE)
|
||||||
.Build(clientID.toString(), loanProductID.toString());
|
.build(clientID.toString(), loanProductID.toString());
|
||||||
return LoanTransactionHelper.getLoanId(requestSpec,responseSpec,loanApplicationJSON);
|
return LoanTransactionHelper.getLoanId(requestSpec,responseSpec,loanApplicationJSON);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-17
@@ -17,30 +17,24 @@ public class LoanApplicationTestBuilder {
|
|||||||
private static final String CALCULATION_PERIOD_SAME_AS_REPAYMENT_PERIOD="1";
|
private static final String CALCULATION_PERIOD_SAME_AS_REPAYMENT_PERIOD="1";
|
||||||
private static final String MIFOS_STANDARD_STRATEGY ="1";
|
private static final String MIFOS_STANDARD_STRATEGY ="1";
|
||||||
|
|
||||||
|
|
||||||
private String principal = "10,000";
|
private String principal = "10,000";
|
||||||
private String clientID="0";
|
|
||||||
private String loanProductId = "0";
|
|
||||||
private String loanTermFrequency = "";
|
private String loanTermFrequency = "";
|
||||||
private String loanTermFrequencyType=""; //0=Days, 1=Weeks, 2=Months, 3=Years
|
private String loanTermFrequencyType = "";
|
||||||
private String numberOfRepayment = "0";
|
private String numberOfRepayment = "0";
|
||||||
private String repaymentPeriod = "0";
|
private String repaymentPeriod = "0";
|
||||||
private String repaymentFrequencyType = ""; //0=Days, 1=Weeks, 2=Months
|
private String repaymentFrequencyType = "";
|
||||||
|
|
||||||
// 12 % per Year Declining Balance
|
|
||||||
// interest rate per Interest_frequency interest type
|
|
||||||
private String interestRate = "2";
|
private String interestRate = "2";
|
||||||
private String interestRateFrequencyType="0"; //2=Per month, 3=Per year
|
private String interestRateFrequencyType = "0";
|
||||||
private String interestType= ""; //0=Declining Balance, 1=Flat
|
private String interestType = "";
|
||||||
private String amortizationType =""; //0=Equal principle payments, 1=Equal installments
|
private String amortizationType = "";
|
||||||
private String interestCalculationPeriodType =CALCULATION_PERIOD_SAME_AS_REPAYMENT_PERIOD;
|
private String interestCalculationPeriodType = CALCULATION_PERIOD_SAME_AS_REPAYMENT_PERIOD;
|
||||||
private String transactionProcessingID= MIFOS_STANDARD_STRATEGY;
|
private String transactionProcessingID = MIFOS_STANDARD_STRATEGY;
|
||||||
private String expectedDisbursmentDate="";
|
private String expectedDisbursmentDate = "";
|
||||||
private String submittedOndate ="";
|
private String submittedOndate = "";
|
||||||
|
|
||||||
|
public String build(String clientID, String loanProductId){
|
||||||
|
|
||||||
public String Build(String clientID, String loanProductId){
|
|
||||||
this.clientID = clientID;
|
|
||||||
this.loanProductId = loanProductId;
|
|
||||||
HashMap<String, String> map = new HashMap<String, String>();
|
HashMap<String, String> map = new HashMap<String, String>();
|
||||||
map.put("dateFormat", "dd MMMM yyyy");
|
map.put("dateFormat", "dd MMMM yyyy");
|
||||||
map.put("locale", "en_GB");
|
map.put("locale", "en_GB");
|
||||||
|
|||||||
+1
-1
@@ -26,7 +26,7 @@ public class LoanProductTestBuilder {
|
|||||||
private static final String ACCRUAL_BASED ="3";
|
private static final String ACCRUAL_BASED ="3";
|
||||||
|
|
||||||
|
|
||||||
private String nameOfLoanProduct = ClientBuilder.randomNameGenerator("LOAN_PRODUCT_", 6);
|
private String nameOfLoanProduct = ClientHelper.randomNameGenerator("LOAN_PRODUCT_", 6);
|
||||||
private String principal = "10000.00";
|
private String principal = "10000.00";
|
||||||
private String numberOfRepayments = "0";
|
private String numberOfRepayments = "0";
|
||||||
private String repaymentFrequency = WEEK;
|
private String repaymentFrequency = WEEK;
|
||||||
|
|||||||
+8
-4
@@ -13,10 +13,6 @@ import static org.junit.Assert.assertTrue;
|
|||||||
|
|
||||||
public class LoanStatusChecker {
|
public class LoanStatusChecker {
|
||||||
|
|
||||||
private static boolean getStatus(HashMap loanStatusMap, String nameOfLoanStatusString){
|
|
||||||
return (Boolean)loanStatusMap.get(nameOfLoanStatusString);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void verifyLoanIsApproved(HashMap loanStatusHashMap) {
|
public static void verifyLoanIsApproved(HashMap loanStatusHashMap) {
|
||||||
assertFalse(getStatus(loanStatusHashMap, "pendingApproval"));
|
assertFalse(getStatus(loanStatusHashMap, "pendingApproval"));
|
||||||
}
|
}
|
||||||
@@ -45,4 +41,12 @@ public class LoanStatusChecker {
|
|||||||
String url = "/mifosng-provider/api/v1/loans/" + loanID + "?tenantIdentifier=default";
|
String url = "/mifosng-provider/api/v1/loans/" + loanID + "?tenantIdentifier=default";
|
||||||
return Utils.performServerGet(requestSpec, responseSpec, url, "status");
|
return Utils.performServerGet(requestSpec, responseSpec, url, "status");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private static boolean getStatus(HashMap loanStatusMap, String nameOfLoanStatusString){
|
||||||
|
return (Boolean)loanStatusMap.get(nameOfLoanStatusString);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
-2
@@ -7,8 +7,6 @@ import com.jayway.restassured.specification.ResponseSpecification;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import static com.jayway.restassured.RestAssured.given;
|
|
||||||
|
|
||||||
public class LoanTransactionHelper {
|
public class LoanTransactionHelper {
|
||||||
|
|
||||||
private static final String CREATE_LOAN_PRODUCT_URL = "/mifosng-provider/api/v1/loanproducts?tenantIdentifier=default";
|
private static final String CREATE_LOAN_PRODUCT_URL = "/mifosng-provider/api/v1/loanproducts?tenantIdentifier=default";
|
||||||
|
|||||||
+7
-5
@@ -13,6 +13,13 @@ import static com.jayway.restassured.path.json.JsonPath.from;
|
|||||||
public class Utils {
|
public class Utils {
|
||||||
private static final String LOGIN_URL = "/mifosng-provider/api/v1/authentication?username=mifos&password=password&tenantIdentifier=default";
|
private static final String LOGIN_URL = "/mifosng-provider/api/v1/authentication?username=mifos&password=password&tenantIdentifier=default";
|
||||||
|
|
||||||
|
public static String loginIntoServerAndGetBase64EncodedAuthenticationKey() {
|
||||||
|
System.out.println("-----------------------------------LOGIN-----------------------------------------");
|
||||||
|
String json = RestAssured.post(LOGIN_URL).asString();
|
||||||
|
return JsonPath.with(json).get("base64EncodedAuthenticationKey");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static <T> T performServerGet(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
|
public static <T> T performServerGet(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
|
||||||
final String getURL, final String jsonAttributeToGetBack){
|
final String getURL, final String jsonAttributeToGetBack){
|
||||||
String json = given().spec(requestSpec)
|
String json = given().spec(requestSpec)
|
||||||
@@ -31,9 +38,4 @@ public class Utils {
|
|||||||
return (T) from(json).get(jsonAttributeToGetBack);
|
return (T) from(json).get(jsonAttributeToGetBack);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String loginIntoServerAndGetBase64EncodedAuthenticationKey() {
|
|
||||||
System.out.println("-----------------------------------LOGIN-----------------------------------------");
|
|
||||||
String json = RestAssured.post(LOGIN_URL).asString();
|
|
||||||
return JsonPath.with(json).get("base64EncodedAuthenticationKey");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user