use of org.mifos.test.acceptance.framework.loanproduct.DefineNewLoanProductPage in project head by mifos.
the class CashFlowTest method createAndValidateLoanProductWithCashFlow.
private void createAndValidateLoanProductWithCashFlow(String warningThreshold, DefineNewLoanProductPage.SubmitFormParameters formParameters, String indebtentValue, String repaymentValue, boolean isVariableLoan) {
DefineNewLoanProductPage loanProductPage = loanProductTestHelper.navigateToDefineNewLoanPageAndFillMandatoryFields(formParameters);
if (isVariableLoan) {
loanProductPage.fillVariableInstalmentOption("", "1", "");
}
loanProductPage.fillCashFlow(warningThreshold, indebtentValue, repaymentValue).submitAndGotoNewLoanProductPreviewPage().verifyCashFlowInPreview(warningThreshold, indebtentValue, repaymentValue).submit().navigateToViewLoanDetails().verifyCashFlowInViewLoanProductPage(warningThreshold, indebtentValue, repaymentValue);
}
use of org.mifos.test.acceptance.framework.loanproduct.DefineNewLoanProductPage in project head by mifos.
the class AdminPage method defineLoanProduct.
public void defineLoanProduct(SubmitFormParameters formParameters) {
DefineNewLoanProductPage newLoanPage = navigateToDefineLoanProduct();
newLoanPage.fillLoanParameters(formParameters);
DefineNewLoanProductPreviewPage previewPage = newLoanPage.submitAndGotoNewLoanProductPreviewPage();
DefineNewLoanProductConfirmationPage confirmationPage = previewPage.submit();
confirmationPage.verifyPage();
}
use of org.mifos.test.acceptance.framework.loanproduct.DefineNewLoanProductPage in project head by mifos.
the class UpdateCustomPropertiesTest method verifyInvalidInterestInLoanProduct.
private void verifyInvalidInterestInLoanProduct(SubmitFormParameters formParameters, boolean checkInterestExceedsLimit) {
DefineNewLoanProductPage newLoanPage = navigationHelper.navigateToDefineNewLoanProductPage();
newLoanPage.fillLoanParameters(formParameters);
DefineNewLoanProductPage previewPage = newLoanPage.submitWithErrors();
if (checkInterestExceedsLimit) {
previewPage.verifyErrorInForm(errorInterestExceedsLimit);
} else {
previewPage.verifyErrorInForm(errorInterestDigitsAfterDecimal);
}
}
use of org.mifos.test.acceptance.framework.loanproduct.DefineNewLoanProductPage in project head by mifos.
the class DefineNewLoanProductTest method verifyWaiveInterestForLoanAccount.
/*
* passing locally but not on hudson.
*/
//http://mifosforge.jira.com/browse/MIFOSTEST-710
@Test(enabled = true)
@SuppressWarnings("PMD.SignatureDeclareThrowsException")
public void verifyWaiveInterestForLoanAccount() throws Exception {
//Given
DateTimeUpdaterRemoteTestingService dateTimeUpdaterRemoteTestingService = new DateTimeUpdaterRemoteTestingService(selenium);
DateTime systemDateTime = new DateTime(2011, 3, 7, 12, 0, 0, 0);
dateTimeUpdaterRemoteTestingService.setDateTime(systemDateTime);
//When
DefineNewLoanProductPage.SubmitFormParameters formParameters = FormParametersHelper.getWeeklyLoanProductParameters();
formParameters.setInterestWaiver(true);
NavigationHelper navigationHelper = new NavigationHelper(selenium);
AdminPage adminPage = navigationHelper.navigateToAdminPage();
DefineNewLoanProductPage newLoanProductPage = adminPage.navigateToDefineLoanProduct();
newLoanProductPage.fillLoanParameters(formParameters);
DefineNewLoanProductPreviewPage previewPage = newLoanProductPage.submitAndGotoNewLoanProductPreviewPage();
//Then
Assert.assertTrue(selenium.isTextPresent("Can waive interest on repay loan: Yes"));
Assert.assertTrue(selenium.isTextPresent("Interest: 31102"));
Assert.assertTrue(selenium.isTextPresent("Principal: 1506"));
//When
LoanProductDetailsPage loanProductDetailsPage = previewPage.submit().navigateToViewLoanDetailsPage();
//Then
Assert.assertTrue(selenium.isTextPresent("Can waive interest on repay loan: Yes"));
//When
EditLoanProductPage editLoanProductPage = loanProductDetailsPage.editLoanProduct();
//Then
Assert.assertTrue(selenium.isChecked("EditLoanProduct.input.includeInterestWaiver"));
//When
EditLoanProductPreviewPage editLoanProductPreviewPage = editLoanProductPage.editSubmit();
//Then
Assert.assertTrue(selenium.isTextPresent("Can waive interest on repay loan: Yes"));
//When
loanProductDetailsPage = editLoanProductPreviewPage.submit();
//Then
Assert.assertTrue(selenium.isTextPresent("Can waive interest on repay loan: Yes"));
//When
CreateLoanAccountSearchParameters searchParameters = new CreateLoanAccountSearchParameters();
searchParameters.setSearchString("WeeklyClient Monday");
searchParameters.setLoanProduct(formParameters.getOfferingName());
LoanTestHelper loanTestHelper = new LoanTestHelper(selenium);
LoanAccountPage loanAccountPage = loanTestHelper.createAndActivateDefaultLoanAccount(searchParameters);
DisburseLoanParameters disburseParameters = new DisburseLoanParameters();
disburseParameters.setDisbursalDateDD(Integer.toString(systemDateTime.getDayOfMonth()));
disburseParameters.setDisbursalDateMM(Integer.toString(systemDateTime.getMonthOfYear()));
disburseParameters.setDisbursalDateYYYY(Integer.toString(systemDateTime.getYear()));
disburseParameters.setPaymentType(PaymentParameters.CASH);
loanAccountPage.navigateToDisburseLoan().submitAndNavigateToDisburseLoanConfirmationPage(disburseParameters).submitAndNavigateToLoanAccountPage();
RepayLoanPage repayLoanPage = loanAccountPage.navigateToRepayLoan();
//Then
Assert.assertTrue(selenium.isChecked("waiverInterestChckBox"));
Assert.assertEquals("Note: Interest due will be waived off.", selenium.getText("waiverInterestWarning"));
Assert.assertFalse(repayLoanPage.isTotalRepaymentAmountVisible());
Assert.assertTrue(repayLoanPage.isWaivedRepaymentAmoutVisible());
Assert.assertEquals(repayLoanPage.waivedRepaymentAmount(), "2,500");
//When
repayLoanPage.interestWaiver(false);
//Then
Assert.assertTrue(repayLoanPage.isTotalRepaymentAmountVisible());
Assert.assertFalse(repayLoanPage.isWaivedRepaymentAmoutVisible());
Assert.assertFalse(selenium.isTextPresent("Note: Interest due will be waived off."));
Assert.assertEquals(repayLoanPage.totalRepaymentAmount(), "2,509.1");
//When
RepayLoanParameters params = new RepayLoanParameters();
params.setModeOfRepayment("Cash");
loanAccountPage = repayLoanPage.submitAndNavigateToRepayLoanConfirmationPage(params).submitAndNavigateToLoanAccountDetailsPage();
//Then
loanAccountPage.verifyStatus("Closed- Obligation met");
String[][] accountSummaryTable = { { "", "Original Loan", "Amount paid", "Loan balance" }, { "Principal", "2,500", "2,500", "0" }, { "Interest", "9.1", "9.1", "0" }, { "Fees", "0", "0", "0" }, { "Penalty", "0", "0", "0" }, { "Total", "2,509.1", "2,509.1", "0" } };
loanAccountPage.verifyAccountSummary(accountSummaryTable);
loanAccountPage.navigateToAccountActivityPage();
Assert.assertEquals("Loan Repayment", selenium.getTable("accountActivityTable.2.1").trim());
Assert.assertEquals("2,500", selenium.getTable("accountActivityTable.2.2").trim());
Assert.assertEquals("0", selenium.getTable("accountActivityTable.2.10").trim());
}
use of org.mifos.test.acceptance.framework.loanproduct.DefineNewLoanProductPage in project head by mifos.
the class LoanProductTestHelper method defineNewLoanProduct.
public LoanProductDetailsPage defineNewLoanProduct(DefineNewLoanProductPage.SubmitFormParameters productParams) {
DefineNewLoanProductPage defineNewLoanProductPage = navigationHelper.navigateToAdminPage().navigateToDefineLoanProduct();
defineNewLoanProductPage.fillLoanParameters(productParams);
return defineNewLoanProductPage.submitAndGotoNewLoanProductPreviewPage().submit().navigateToViewLoanDetailsPage();
}
Aggregations