http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/66cee785/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanWithWaiveInterestAndWriteOffIntegrationTest.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanWithWaiveInterestAndWriteOffIntegrationTest.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanWithWaiveInterestAndWriteOffIntegrationTest.java deleted file mode 100644 index 5258337..0000000 --- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanWithWaiveInterestAndWriteOffIntegrationTest.java +++ /dev/null @@ -1,204 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.fineract.integrationtests; - -import java.util.HashMap; - -import org.apache.fineract.integrationtests.common.ClientHelper; -import org.apache.fineract.integrationtests.common.Utils; -import org.apache.fineract.integrationtests.common.loans.LoanApplicationTestBuilder; -import org.apache.fineract.integrationtests.common.loans.LoanProductTestBuilder; -import org.apache.fineract.integrationtests.common.loans.LoanStatusChecker; -import org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -import com.jayway.restassured.builder.RequestSpecBuilder; -import com.jayway.restassured.builder.ResponseSpecBuilder; -import com.jayway.restassured.http.ContentType; -import com.jayway.restassured.specification.RequestSpecification; -import com.jayway.restassured.specification.ResponseSpecification; - -/** - * Client Loan Integration Test for checking Loan Disbursement with Waive - * Interest and Write-Off. - */ -@SuppressWarnings({ "rawtypes" }) -public class LoanWithWaiveInterestAndWriteOffIntegrationTest { - - private ResponseSpecification responseSpec; - private RequestSpecification requestSpec; - - private final String LP_PRINCIPAL = "12,000.00", LP_REPAYMENTS = "2", LP_REPAYMENT_PERIOD = "6", LP_INTEREST_RATE = "1", - PRINCIPAL = "4,500.00", LOAN_TERM_FREQUENCY = "18", NUMBER_OF_REPAYMENTS = "9", REPAYMENT_PERIOD = "2", - DISBURSEMENT_DATE = "30 October 2010", LOAN_APPLICATION_SUBMISSION_DATE = "23 September 2010", - EXPECTED_DISBURSAL_DATE = "28 October 2010", RATE_OF_INTEREST_PER_PERIOD = "2", DATE_OF_JOINING = "04 March 2009", - INTEREST_VALUE_AMOUNT = "40.00"; - private LoanTransactionHelper loanTransactionHelper; - - @Before - public void setup() { - Utils.initializeRESTAssured(); - this.requestSpec = new RequestSpecBuilder().setContentType(ContentType.JSON).build(); - this.requestSpec.header("Authorization", "Basic " + Utils.loginIntoServerAndGetBase64EncodedAuthenticationKey()); - this.responseSpec = new ResponseSpecBuilder().expectStatusCode(200).build(); - this.loanTransactionHelper = new LoanTransactionHelper(this.requestSpec, this.responseSpec); - } - - @Test - public void checkClientLoanCreateAndDisburseFlow() { - // CREATE CLIENT - final Integer clientID = ClientHelper.createClient(this.requestSpec, this.responseSpec, this.DATE_OF_JOINING); - ClientHelper.verifyClientCreatedOnServer(this.requestSpec, this.responseSpec, clientID); - - // CREATE LOAN PRODUCT - final Integer loanProductID = createLoanProduct(); - // APPLY FOR LOAN - final Integer loanID = applyForLoanApplication(clientID, loanProductID); - - HashMap loanStatusHashMap = LoanStatusChecker.getStatusOfLoan(this.requestSpec, this.responseSpec, loanID); - LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap); - - System.out.println("-----------------------------------APPROVE LOAN-----------------------------------------"); - loanStatusHashMap = this.loanTransactionHelper.approveLoan("28 September 2010", loanID); - LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap); - LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap); - - // UNDO APPROVAL - loanStatusHashMap = this.loanTransactionHelper.undoApproval(loanID); - LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap); - - System.out.println("-----------------------------------RE-APPROVE LOAN-----------------------------------------"); - loanStatusHashMap = this.loanTransactionHelper.approveLoan("1 October 2010", loanID); - LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap); - LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap); - - // DISBURSE - loanStatusHashMap = this.loanTransactionHelper.disburseLoan(this.DISBURSEMENT_DATE, loanID); - System.out.println("DISBURSE " + loanStatusHashMap); - LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap); - - // PERFORM REPAYMENTS AND CHECK LOAN STATUS - this.loanTransactionHelper.verifyRepaymentScheduleEntryFor(1, 4000.0F, loanID); - this.loanTransactionHelper.makeRepayment("1 January 2011", 540.0f, loanID); - - // UNDO DISBURSE LOAN - loanStatusHashMap = this.loanTransactionHelper.undoDisbursal(loanID); - LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap); - - // DIBURSE AGAIN - loanStatusHashMap = this.loanTransactionHelper.disburseLoan(this.DISBURSEMENT_DATE, loanID); - System.out.println("DISBURSE " + loanStatusHashMap); - LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap); - - // MAKE REPAYMENTS - final float repayment_with_interest = 540.0f; - final float repayment_without_interest = 500.0f; - - this.loanTransactionHelper.verifyRepaymentScheduleEntryFor(1, 4000.0F, loanID); - this.loanTransactionHelper.makeRepayment("1 January 2011", repayment_with_interest, loanID); - this.loanTransactionHelper.makeRepayment("1 March 2011", repayment_with_interest, loanID); - this.loanTransactionHelper.waiveInterest("1 May 2011", this.INTEREST_VALUE_AMOUNT, loanID); - this.loanTransactionHelper.makeRepayment("1 May 2011", repayment_without_interest, loanID); - this.loanTransactionHelper.makeRepayment("1 July 2011", repayment_with_interest, loanID); - this.loanTransactionHelper.waiveInterest("1 September 2011", this.INTEREST_VALUE_AMOUNT, loanID); - this.loanTransactionHelper.makeRepayment("1 September 2011", repayment_without_interest, loanID); - this.loanTransactionHelper.makeRepayment("1 November 2011", repayment_with_interest, loanID); - this.loanTransactionHelper.waiveInterest("1 January 2012", this.INTEREST_VALUE_AMOUNT, loanID); - this.loanTransactionHelper.makeRepayment("1 January 2012", repayment_without_interest, loanID); - this.loanTransactionHelper.verifyRepaymentScheduleEntryFor(7, 1000.0f, loanID); - - // WRITE OFF LOAN AND CHECK ACCOUNT IS CLOSED - LoanStatusChecker.verifyLoanAccountIsClosed(this.loanTransactionHelper.writeOffLoan("1 March 2012", loanID)); - - } - - @Test - public void checkClientLoan_WRITTEN_OFF() { - // CREATE CLIENT - final Integer clientID = ClientHelper.createClient(this.requestSpec, this.responseSpec, this.DATE_OF_JOINING); - ClientHelper.verifyClientCreatedOnServer(this.requestSpec, this.responseSpec, clientID); - - // CREATE LOAN PRODUCT - final Integer loanProductID = createLoanProduct(); - // APPLY FOR LOAN - final Integer loanID = applyForLoanApplication(clientID, loanProductID); - - HashMap loanStatusHashMap = LoanStatusChecker.getStatusOfLoan(this.requestSpec, this.responseSpec, loanID); - LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap); - - System.out.println("-----------------------------------APPROVE LOAN-----------------------------------------"); - loanStatusHashMap = this.loanTransactionHelper.approveLoan("28 September 2010", loanID); - LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap); - LoanStatusChecker.verifyLoanIsWaitingForDisbursal(loanStatusHashMap); - - // DISBURSE - loanStatusHashMap = this.loanTransactionHelper.disburseLoan(this.DISBURSEMENT_DATE, loanID); - System.out.println("DISBURSE " + loanStatusHashMap); - LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap); - - // MAKE REPAYMENTS - final float repayment_with_interest = 680.0f; - - this.loanTransactionHelper.verifyRepaymentScheduleEntryFor(1, 4000.0F, loanID); - this.loanTransactionHelper.makeRepayment("1 January 2011", repayment_with_interest, loanID); - - HashMap toLoanSummaryAfter = this.loanTransactionHelper.getLoanSummary(requestSpec, responseSpec, loanID); - Assert.assertTrue("Checking for Principal paid ", - new Float("500.0").compareTo(new Float(String.valueOf(toLoanSummaryAfter.get("principalPaid")))) == 0); - Assert.assertTrue("Checking for interestPaid paid ", - new Float("180.0").compareTo(new Float(String.valueOf(toLoanSummaryAfter.get("interestPaid")))) == 0); - Assert.assertTrue("Checking for total paid ", - new Float("680.0").compareTo(new Float(String.valueOf(toLoanSummaryAfter.get("totalRepayment")))) == 0); - - // WRITE OFF LOAN AND CHECK ACCOUNT IS CLOSED - LoanStatusChecker.verifyLoanAccountIsClosed(this.loanTransactionHelper.writeOffLoan("1 January 2011", loanID)); - toLoanSummaryAfter = this.loanTransactionHelper.getLoanSummary(requestSpec, responseSpec, loanID); - Assert.assertTrue("Checking for Principal written off ", - new Float("4000.0").compareTo(new Float(String.valueOf(toLoanSummaryAfter.get("principalWrittenOff")))) == 0); - Assert.assertTrue("Checking for interestPaid written off ", - new Float("1440.0").compareTo(new Float(String.valueOf(toLoanSummaryAfter.get("interestWrittenOff")))) == 0); - Assert.assertTrue("Checking for total written off ", - new Float("5440.0").compareTo(new Float(String.valueOf(toLoanSummaryAfter.get("totalWrittenOff")))) == 0); - - } - - private Integer createLoanProduct() { - System.out.println("------------------------------CREATING NEW LOAN PRODUCT ---------------------------------------"); - final String loanProductJSON = new LoanProductTestBuilder().withPrincipal(this.LP_PRINCIPAL).withRepaymentTypeAsMonth() - .withRepaymentAfterEvery(this.LP_REPAYMENT_PERIOD).withNumberOfRepayments(this.LP_REPAYMENTS).withRepaymentTypeAsMonth() - .withinterestRatePerPeriod(this.LP_INTEREST_RATE).withInterestRateFrequencyTypeAsMonths() - .withAmortizationTypeAsEqualPrincipalPayment().withInterestTypeAsFlat().build(null); - - return this.loanTransactionHelper.getLoanProductId(loanProductJSON); - } - - private Integer applyForLoanApplication(final Integer clientID, final Integer loanProductID) { - System.out.println("--------------------------------APPLYING FOR LOAN APPLICATION--------------------------------"); - final String loanApplicationJSON = new LoanApplicationTestBuilder().withPrincipal(this.PRINCIPAL) - .withLoanTermFrequency(this.LOAN_TERM_FREQUENCY).withLoanTermFrequencyAsMonths() - .withNumberOfRepayments(this.NUMBER_OF_REPAYMENTS).withRepaymentEveryAfter(this.REPAYMENT_PERIOD) - .withRepaymentFrequencyTypeAsMonths().withInterestRatePerPeriod(this.RATE_OF_INTEREST_PER_PERIOD) - .withInterestTypeAsFlatBalance().withAmortizationTypeAsEqualInstallments() - .withInterestCalculationPeriodTypeSameAsRepaymentPeriod().withExpectedDisbursementDate(this.EXPECTED_DISBURSAL_DATE) - .withSubmittedOnDate(this.LOAN_APPLICATION_SUBMISSION_DATE).build(clientID.toString(), loanProductID.toString(), null); - return this.loanTransactionHelper.getLoanId(loanApplicationJSON); - } -}
http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/66cee785/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanWithdrawnByApplicantIntegrationTest.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanWithdrawnByApplicantIntegrationTest.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanWithdrawnByApplicantIntegrationTest.java deleted file mode 100644 index 4313c39..0000000 --- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanWithdrawnByApplicantIntegrationTest.java +++ /dev/null @@ -1,77 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.fineract.integrationtests; - -import java.util.HashMap; - -import org.apache.fineract.integrationtests.common.ClientHelper; -import org.apache.fineract.integrationtests.common.Utils; -import org.apache.fineract.integrationtests.common.loans.LoanApplicationTestBuilder; -import org.apache.fineract.integrationtests.common.loans.LoanProductTestBuilder; -import org.apache.fineract.integrationtests.common.loans.LoanStatusChecker; -import org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper; -import org.junit.Before; -import org.junit.Test; - -import com.jayway.restassured.builder.RequestSpecBuilder; -import com.jayway.restassured.builder.ResponseSpecBuilder; -import com.jayway.restassured.http.ContentType; -import com.jayway.restassured.specification.RequestSpecification; -import com.jayway.restassured.specification.ResponseSpecification; - -@SuppressWarnings("rawtypes") -public class LoanWithdrawnByApplicantIntegrationTest { - - private ResponseSpecification responseSpec; - private RequestSpecification requestSpec; - private LoanTransactionHelper loanTransactionHelper; - - @Before - public void setup() { - Utils.initializeRESTAssured(); - this.requestSpec = new RequestSpecBuilder().setContentType(ContentType.JSON).build(); - this.requestSpec.header("Authorization", "Basic " + Utils.loginIntoServerAndGetBase64EncodedAuthenticationKey()); - this.responseSpec = new ResponseSpecBuilder().expectStatusCode(200).build(); - - this.loanTransactionHelper = new LoanTransactionHelper(this.requestSpec, this.responseSpec); - } - - @Test - public void loanWithdrawnByApplicant() { - final Integer clientID = ClientHelper.createClient(this.requestSpec, this.responseSpec, "01 January 2012"); - final Integer loanProductID = this.loanTransactionHelper.getLoanProductId(new LoanProductTestBuilder().build(null)); - final Integer loanID = applyForLoanApplication(clientID, loanProductID); - - HashMap loanStatusHashMap = LoanStatusChecker.getStatusOfLoan(this.requestSpec, this.responseSpec, loanID); - LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap); - - this.loanTransactionHelper.withdrawLoanApplicationByClient("03 April 2012", loanID); - loanStatusHashMap = LoanStatusChecker.getStatusOfLoan(this.requestSpec, this.responseSpec, loanID); - LoanStatusChecker.verifyLoanAccountIsNotActive(loanStatusHashMap); - - } - - private Integer applyForLoanApplication(final Integer clientID, final Integer loanProductID) { - final String loanApplication = new LoanApplicationTestBuilder().withPrincipal("5000").withLoanTermFrequency("5") - .withLoanTermFrequencyAsMonths().withNumberOfRepayments("5").withRepaymentEveryAfter("1") - .withRepaymentFrequencyTypeAsMonths().withInterestRatePerPeriod("2").withExpectedDisbursementDate("04 April 2012") - .withSubmittedOnDate("02 April 2012").build(clientID.toString(), loanProductID.toString(), null); - return this.loanTransactionHelper.getLoanId(loanApplication); - } -} http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/66cee785/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/MinimumDaysBetweenDisbursalAndFirstRepaymentTest.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/MinimumDaysBetweenDisbursalAndFirstRepaymentTest.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/MinimumDaysBetweenDisbursalAndFirstRepaymentTest.java deleted file mode 100644 index f0d6f19..0000000 --- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/MinimumDaysBetweenDisbursalAndFirstRepaymentTest.java +++ /dev/null @@ -1,220 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.fineract.integrationtests; - -import static org.junit.Assert.assertEquals; - -import java.util.HashMap; -import java.util.List; - -import org.apache.fineract.integrationtests.common.CalendarHelper; -import org.apache.fineract.integrationtests.common.ClientHelper; -import org.apache.fineract.integrationtests.common.CommonConstants; -import org.apache.fineract.integrationtests.common.GroupHelper; -import org.apache.fineract.integrationtests.common.Utils; -import org.apache.fineract.integrationtests.common.loans.LoanApplicationTestBuilder; -import org.apache.fineract.integrationtests.common.loans.LoanProductTestBuilder; -import org.apache.fineract.integrationtests.common.loans.LoanStatusChecker; -import org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -import com.jayway.restassured.builder.RequestSpecBuilder; -import com.jayway.restassured.builder.ResponseSpecBuilder; -import com.jayway.restassured.http.ContentType; -import com.jayway.restassured.specification.RequestSpecification; -import com.jayway.restassured.specification.ResponseSpecification; - -/** - * Test the creation, approval and rejection of a loan reschedule request - **/ -@SuppressWarnings({ "rawtypes" }) -public class MinimumDaysBetweenDisbursalAndFirstRepaymentTest { - - private ResponseSpecification responseSpec; - private ResponseSpecification responseSpecForStatusCode403; - private RequestSpecification requestSpec; - private LoanTransactionHelper loanTransactionHelper; - private Integer clientId; - private Integer groupId; - private Integer groupCalendarId; - private Integer loanProductId; - private Integer loanId; - private final String loanPrincipalAmount = "100000.00"; - private final String numberOfRepayments = "12"; - private final String interestRatePerPeriod = "18"; - private final String groupActivationDate = "1 August 2014"; - - @Before - public void setup() { - Utils.initializeRESTAssured(); - } - - /* - * MinimumDaysBetweenDisbursalAndFirstRepayment is set to 7 days and days - * between disbursal date and first repayment is set as 7. system should - * allow to create this loan and allow to disburse - */ - @Test - public void createLoanEntity_WITH_DAY_BETWEEN_DISB_DATE_AND_REPAY_START_DATE_GREATER_THAN_MIN_DAY_CRITERIA() { - - this.requestSpec = new RequestSpecBuilder().setContentType(ContentType.JSON).build(); - this.requestSpec.header("Authorization", "Basic " + Utils.loginIntoServerAndGetBase64EncodedAuthenticationKey()); - this.responseSpec = new ResponseSpecBuilder().expectStatusCode(200).build(); - this.loanTransactionHelper = new LoanTransactionHelper(this.requestSpec, this.responseSpec); - - // create all required entities - this.createRequiredEntities(); - - final String disbursalDate = "4 September 2014"; - final String firstRepaymentDate = "11 September 2014"; - - final String loanApplicationJSON = new LoanApplicationTestBuilder().withPrincipal(loanPrincipalAmount) - .withLoanTermFrequency(numberOfRepayments).withLoanTermFrequencyAsWeeks().withNumberOfRepayments(numberOfRepayments) - .withRepaymentEveryAfter("1").withRepaymentFrequencyTypeAsMonths().withAmortizationTypeAsEqualInstallments() - .withInterestCalculationPeriodTypeAsDays().withInterestRatePerPeriod(interestRatePerPeriod) - .withRepaymentFrequencyTypeAsWeeks().withSubmittedOnDate(disbursalDate).withExpectedDisbursementDate(disbursalDate) - .withPrincipalGrace("2").withInterestGrace("2").withFirstRepaymentDate(firstRepaymentDate) - .build(this.clientId.toString(), this.loanProductId.toString(), null); - - this.loanId = this.loanTransactionHelper.getLoanId(loanApplicationJSON); - - // Test for loan account is created - Assert.assertNotNull(this.loanId); - HashMap loanStatusHashMap = LoanStatusChecker.getStatusOfLoan(this.requestSpec, this.responseSpec, this.loanId); - LoanStatusChecker.verifyLoanIsPending(loanStatusHashMap); - - // Test for loan account is created, can be approved - this.loanTransactionHelper.approveLoan(disbursalDate, this.loanId); - loanStatusHashMap = LoanStatusChecker.getStatusOfLoan(this.requestSpec, this.responseSpec, this.loanId); - LoanStatusChecker.verifyLoanIsApproved(loanStatusHashMap); - - // Test for loan account approved can be disbursed - this.loanTransactionHelper.disburseLoan(disbursalDate, this.loanId); - loanStatusHashMap = LoanStatusChecker.getStatusOfLoan(this.requestSpec, this.responseSpec, this.loanId); - LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap); - - } - - /* - * MinimumDaysBetweenDisbursalAndFirstRepayment is set to 7 days and days - * between disbursal date and first repayment is set as 7. system should - * allow to create this loan and allow to disburse - */ - @SuppressWarnings("unchecked") - @Test - public void createLoanEntity_WITH_DAY_BETWEEN_DISB_DATE_AND_REPAY_START_DATE_LESS_THAN_MIN_DAY_CRITERIA() { - - this.requestSpec = new RequestSpecBuilder().setContentType(ContentType.JSON).build(); - this.requestSpec.header("Authorization", "Basic " + Utils.loginIntoServerAndGetBase64EncodedAuthenticationKey()); - this.responseSpec = new ResponseSpecBuilder().expectStatusCode(200).build(); - this.responseSpecForStatusCode403 = new ResponseSpecBuilder().expectStatusCode(403).build(); - this.loanTransactionHelper = new LoanTransactionHelper(this.requestSpec, this.responseSpec); - // create all required entities - this.createRequiredEntities(); - - // loanTransactionHelper is reassigned to accept 403 status code from - // server - this.loanTransactionHelper = new LoanTransactionHelper(this.requestSpec, this.responseSpecForStatusCode403); - - final String disbursalDate = "4 September 2014"; - final String firstRepaymentDate = "5 September 2014"; - - final String loanApplicationJSON = new LoanApplicationTestBuilder().withPrincipal(loanPrincipalAmount) - .withLoanTermFrequency(numberOfRepayments).withLoanTermFrequencyAsWeeks().withNumberOfRepayments(numberOfRepayments) - .withRepaymentEveryAfter("1").withRepaymentFrequencyTypeAsMonths().withAmortizationTypeAsEqualInstallments() - .withInterestCalculationPeriodTypeAsDays().withInterestRatePerPeriod(interestRatePerPeriod) - .withRepaymentFrequencyTypeAsWeeks().withSubmittedOnDate(disbursalDate).withExpectedDisbursementDate(disbursalDate) - .withPrincipalGrace("2").withInterestGrace("2").withFirstRepaymentDate(firstRepaymentDate) - .build(this.clientId.toString(), this.loanProductId.toString(), null); - - List<HashMap> error = (List<HashMap>) this.loanTransactionHelper.createLoanAccount(loanApplicationJSON, - CommonConstants.RESPONSE_ERROR); - assertEquals("error.msg.loan.days.between.first.repayment.and.disbursal.are.less.than.minimum.allowed", - error.get(0).get(CommonConstants.RESPONSE_ERROR_MESSAGE_CODE)); - - } - - /** - * Creates the client, loan product, and loan entities - **/ - private void createRequiredEntities() { - final String minimumDaysBetweenDisbursalAndFirstRepayment = "7"; // & - // days - this.createGroupEntityWithCalendar(); - this.createClientEntity(); - this.associateClientToGroup(this.groupId, this.clientId); - this.createLoanProductEntity(minimumDaysBetweenDisbursalAndFirstRepayment); - - } - - /* - * Associate client to the group - */ - - private void associateClientToGroup(final Integer groupId, final Integer clientId) { - GroupHelper.associateClient(this.requestSpec, this.responseSpec, groupId.toString(), clientId.toString()); - GroupHelper.verifyGroupMembers(this.requestSpec, this.responseSpec, groupId, clientId); - } - - /* - * Create a new group - */ - - private void createGroupEntityWithCalendar() { - this.groupId = GroupHelper.createGroup(this.requestSpec, this.responseSpec, this.groupActivationDate); - GroupHelper.verifyGroupCreatedOnServer(this.requestSpec, this.responseSpec, this.groupId); - - final String startDate = this.groupActivationDate; - final String frequency = "2"; // 2:Weekly - final String interval = "1"; // Every one week - final String repeatsOnDay = "1"; // 1:Monday - - this.setGroupCalendarId(CalendarHelper.createMeetingCalendarForGroup(this.requestSpec, this.responseSpec, this.groupId, startDate, - frequency, interval, repeatsOnDay)); - } - - /** - * create a new client - **/ - private void createClientEntity() { - this.clientId = ClientHelper.createClient(this.requestSpec, this.responseSpec); - ClientHelper.verifyClientCreatedOnServer(this.requestSpec, this.responseSpec, this.clientId); - } - - /** - * create a new loan product - **/ - private void createLoanProductEntity(final String minimumDaysBetweenDisbursalAndFirstRepayment) { - final String loanProductJSON = new LoanProductTestBuilder().withPrincipal(loanPrincipalAmount) - .withNumberOfRepayments(numberOfRepayments).withinterestRatePerPeriod(interestRatePerPeriod) - .withInterestRateFrequencyTypeAsYear() - .withMinimumDaysBetweenDisbursalAndFirstRepayment(minimumDaysBetweenDisbursalAndFirstRepayment).build(null); - this.loanProductId = this.loanTransactionHelper.getLoanProductId(loanProductJSON); - } - - public Integer getGroupCalendarId() { - return groupCalendarId; - } - - public void setGroupCalendarId(Integer groupCalendarId) { - this.groupCalendarId = groupCalendarId; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/66cee785/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/OfficeIntegrationTest.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/OfficeIntegrationTest.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/OfficeIntegrationTest.java deleted file mode 100644 index 574ba6c..0000000 --- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/OfficeIntegrationTest.java +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.fineract.integrationtests; - -import org.apache.fineract.integrationtests.common.OfficeDomain; -import org.apache.fineract.integrationtests.common.OfficeHelper; -import org.apache.fineract.integrationtests.common.Utils; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -import com.jayway.restassured.builder.RequestSpecBuilder; -import com.jayway.restassured.builder.ResponseSpecBuilder; -import com.jayway.restassured.http.ContentType; -import com.jayway.restassured.specification.RequestSpecification; -import com.jayway.restassured.specification.ResponseSpecification; - -public class OfficeIntegrationTest { - - private ResponseSpecification responseSpec; - private RequestSpecification requestSpec; - - @Before - public void setup() { - Utils.initializeRESTAssured(); - this.requestSpec = new RequestSpecBuilder().setContentType( - ContentType.JSON).build(); - this.requestSpec - .header("Authorization", - "Basic " - + Utils.loginIntoServerAndGetBase64EncodedAuthenticationKey()); - this.responseSpec = new ResponseSpecBuilder().expectStatusCode(200) - .build(); - } - - @Test - public void testOfficeModification() { - OfficeHelper oh = new OfficeHelper(requestSpec, responseSpec); - int officeId = oh.createOffice("01 July 2007"); - String name = Utils.randomNameGenerator("New_Office_", 4); - String date = "02 July 2007"; - String[] dateArr = { "2007", "7", "2" }; - - oh.updateOffice(officeId, name, date); - OfficeDomain newOffice = oh.retrieveOfficeByID(officeId); - - Assert.assertTrue(name.equals(newOffice.getName())); - Assert.assertArrayEquals(dateArr, newOffice.getOpeningDate()); - } -} http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/66cee785/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java deleted file mode 100644 index 388c13e..0000000 --- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java +++ /dev/null @@ -1,78 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.fineract.integrationtests; - -import static org.junit.Assert.assertEquals; - -import java.util.HashMap; -import java.util.List; - -import org.apache.fineract.integrationtests.common.CommonConstants; -import org.apache.fineract.integrationtests.common.PasswordPreferencesHelper; -import org.apache.fineract.integrationtests.common.Utils; -import org.junit.Before; -import org.junit.Test; - -import com.jayway.restassured.builder.RequestSpecBuilder; -import com.jayway.restassured.builder.ResponseSpecBuilder; -import com.jayway.restassured.http.ContentType; -import com.jayway.restassured.specification.RequestSpecification; -import com.jayway.restassured.specification.ResponseSpecification; - -@SuppressWarnings({ "rawtypes", "unchecked" }) -public class PasswordPreferencesIntegrationTest { - - private ResponseSpecification responseSpec; - private RequestSpecification requestSpec; - private ResponseSpecification generalResponseSpec; - - @Before - public void setUp() { - Utils.initializeRESTAssured(); - this.requestSpec = new RequestSpecBuilder().setContentType(ContentType.JSON).build(); - this.requestSpec.header("Authorization", "Basic " + Utils.loginIntoServerAndGetBase64EncodedAuthenticationKey()); - this.responseSpec = new ResponseSpecBuilder().expectStatusCode(200).build(); - this.generalResponseSpec = new ResponseSpecBuilder().build(); - - } - - @Test - public void updatePasswordPreferences() { - String validationPolicyId = "2"; - PasswordPreferencesHelper.updatePasswordPreferences(requestSpec, responseSpec, validationPolicyId); - this.validateIfThePasswordIsUpdated(validationPolicyId); - } - - private void validateIfThePasswordIsUpdated(String validationPolicyId){ - Integer id = PasswordPreferencesHelper.getActivePasswordPreference(requestSpec, responseSpec); - assertEquals(validationPolicyId, id.toString()); - System.out.println("---------------------------------PASSWORD PREFERENCE VALIDATED SUCCESSFULLY-----------------------------------------"); - - } - - @Test - public void updateWithInvalidPolicyId() { - String invalidValidationPolicyId = "2000"; - final List<HashMap> error = (List) PasswordPreferencesHelper.updateWithInvalidValidationPolicyId(requestSpec, generalResponseSpec, invalidValidationPolicyId, - CommonConstants.RESPONSE_ERROR); - assertEquals("Password Validation Policy with identifier 2000 does not exist", "error.msg.password.validation.policy.id.invalid", - error.get(0).get("userMessageGlobalisationCode")); - } - -} http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/66cee785/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/PaymentTypeIntegrationTest.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/PaymentTypeIntegrationTest.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/PaymentTypeIntegrationTest.java deleted file mode 100644 index 4bc07bc..0000000 --- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/PaymentTypeIntegrationTest.java +++ /dev/null @@ -1,93 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.fineract.integrationtests; - -import java.util.HashMap; - -import org.apache.fineract.integrationtests.common.PaymentTypeDomain; -import org.apache.fineract.integrationtests.common.PaymentTypeHelper; -import org.apache.fineract.integrationtests.common.Utils; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -import com.jayway.restassured.builder.RequestSpecBuilder; -import com.jayway.restassured.builder.ResponseSpecBuilder; -import com.jayway.restassured.http.ContentType; -import com.jayway.restassured.specification.RequestSpecification; -import com.jayway.restassured.specification.ResponseSpecification; - -public class PaymentTypeIntegrationTest { - - private ResponseSpecification responseSpec; - private RequestSpecification requestSpec; - - @Before - public void setup() { - Utils.initializeRESTAssured(); - this.requestSpec = new RequestSpecBuilder().setContentType(ContentType.JSON).build(); - this.requestSpec.header("Authorization", "Basic " + Utils.loginIntoServerAndGetBase64EncodedAuthenticationKey()); - this.responseSpec = new ResponseSpecBuilder().expectStatusCode(200).build(); - - } - - @SuppressWarnings({ "rawtypes", "unchecked" }) - @Test - public void testPaymentType() { - String name = PaymentTypeHelper.randomNameGenerator("P_T", 5); - String description = PaymentTypeHelper.randomNameGenerator("PT_Desc", 15); - Boolean isCashPayment = true; - Integer position = 1; - - Integer paymentTypeId = PaymentTypeHelper.createPaymentType(requestSpec, responseSpec, name, description, isCashPayment, position); - Assert.assertNotNull(paymentTypeId); - PaymentTypeHelper.verifyPaymentTypeCreatedOnServer(requestSpec, responseSpec, paymentTypeId); - PaymentTypeDomain paymentTypeResponse = PaymentTypeHelper.retrieveById(requestSpec, responseSpec, paymentTypeId); - Assert.assertEquals(name, paymentTypeResponse.getName()); - Assert.assertEquals(description, paymentTypeResponse.getDescription()); - Assert.assertEquals(isCashPayment, paymentTypeResponse.getIsCashPayment()); - Assert.assertEquals(position, paymentTypeResponse.getPosition()); - - // Update Payment Type - String newName = PaymentTypeHelper.randomNameGenerator("P_TU", 5); - String newDescription = PaymentTypeHelper.randomNameGenerator("PTU_Desc", 15); - Boolean isCashPaymentUpdatedValue = false; - Integer newPosition = 2; - - HashMap request = new HashMap(); - request.put("name", newName); - request.put("description", newDescription); - request.put("isCashPayment", isCashPaymentUpdatedValue); - request.put("position", newPosition); - PaymentTypeHelper.updatePaymentType(paymentTypeId, request, requestSpec, responseSpec); - PaymentTypeDomain paymentTypeUpdatedResponse = PaymentTypeHelper.retrieveById(requestSpec, responseSpec, paymentTypeId); - Assert.assertEquals(newName, paymentTypeUpdatedResponse.getName()); - Assert.assertEquals(newDescription, paymentTypeUpdatedResponse.getDescription()); - Assert.assertEquals(isCashPaymentUpdatedValue, paymentTypeUpdatedResponse.getIsCashPayment()); - Assert.assertEquals(newPosition, paymentTypeUpdatedResponse.getPosition()); - - // Delete - Integer deletedPaymentTypeId = PaymentTypeHelper.deletePaymentType(paymentTypeId, requestSpec, responseSpec); - Assert.assertEquals(paymentTypeId, deletedPaymentTypeId); - ResponseSpecification responseSpecification = new ResponseSpecBuilder().expectStatusCode(404).build(); - PaymentTypeHelper.retrieveById(requestSpec, responseSpecification, paymentTypeId); - - } - -}
