/* * Copyright (c) 2005-2011 Grameen Foundation USA * All rights reserved. * * Licensed 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. * * See also http://www.apache.org/licenses/LICENSE-2.0.html for an * explanation of the license and how it is applied. */ package org.mifos.test.acceptance.framework.savingsproduct; import org.mifos.test.acceptance.framework.MifosPage; import org.mifos.test.acceptance.framework.savingsproduct.DefineNewSavingsProductPage.SubmitSavingsFormParameters; import org.testng.Assert; import com.thoughtworks.selenium.Selenium; public class EditSavingsProductPage extends MifosPage { public EditSavingsProductPage(Selenium selenium) { super(selenium); verifyPage("Edit_SavingsProduct"); } public EditSavingsProductPreviewPage submitRequiredDescriptionAndInterestChanges(SubmitSavingsFormParameters parameters) { selenium.type("createSavingsProduct.input.prdOfferingName", parameters.getOfferingName()); selenium.type("createSavingsProduct.input.prdOfferingShortName", parameters.getOfferingShortName()); selenium.type("startDateDD", parameters.getStartDateDd()); selenium.type("startDateMM", parameters.getStartDateMm()); selenium.type("startDateYY", parameters.getStartDateYy()); selenium.type("interestRate", parameters.getInterestRate()); selenium.type("interestPostingMonthlyFrequency", parameters.getFrequencyInterest()); selenium.type("interestCalculationFrequency", parameters.getTimePeriodInterest()); if(parameters.getProductCategory()==0) { selenium.select("generalDetails.selectedCategory", "value="); } else { selenium.select("generalDetails.selectedCategory", "value="+parameters.getProductCategory()); } if (parameters.getApplicableFor()==0) { selenium.select("generalDetails.selectedApplicableFor", "value="); } else { selenium.select("generalDetails.selectedApplicableFor", "value=" + parameters.getApplicableFor()); } if(parameters.getDepositType()==0) { selenium.select("selectedDepositType","value="); } else { selenium.select("selectedDepositType","value=" + parameters.getDepositType()); } if(parameters.getStatus()==0) { selenium.select("generalDetails.selectedStatus","value="); } else { selenium.select("generalDetails.selectedStatus","value=" + parameters.getStatus()); } if(parameters.getBalanceInterest()==0) { selenium.select("selectedInterestCalculation","value="); } else { selenium.select("selectedInterestCalculation","value=" + parameters.getBalanceInterest()); } return editSubmit(); } public EditSavingsProductPreviewPage editSubmit() { selenium.click("createSavingsProduct.button.preview"); waitForPageToLoad(); return new EditSavingsProductPreviewPage(selenium); } public void verifyModifiedSavingsProduct(SubmitSavingsFormParameters formSavingsParameters) { Assert.assertEquals(selenium.getValue("createSavingsProduct.input.prdOfferingName"), formSavingsParameters.getOfferingName()); Assert.assertEquals(selenium.getValue("createSavingsProduct.input.prdOfferingShortName"), formSavingsParameters.getOfferingShortName()); Assert.assertEquals(selenium.getValue("startDateDD"), formSavingsParameters.getStartDateDd()); Assert.assertEquals(selenium.getValue("startDateMM"), formSavingsParameters.getStartDateMm()); Assert.assertEquals(selenium.getValue("startDateYY"), formSavingsParameters.getStartDateYy()); Assert.assertEquals(selenium.getValue("interestRate"), formSavingsParameters.getInterestRate()); Assert.assertEquals(selenium.getValue("interestRate"), formSavingsParameters.getInterestRate()); Assert.assertEquals(selenium.getValue("interestPostingMonthlyFrequency"), formSavingsParameters.getFrequencyInterest()); Assert.assertEquals(selenium.getValue("interestCalculationFrequency"), formSavingsParameters.getTimePeriodInterest()); Assert.assertEquals(selenium.getValue("interestCalculationFrequency"), formSavingsParameters.getTimePeriodInterest()); Assert.assertEquals(selenium.getValue("interestCalculationFrequency"), formSavingsParameters.getTimePeriodInterest()); Assert.assertEquals(selenium.getSelectedValue("generalDetails.selectedCategory"), Integer.toString(formSavingsParameters.getProductCategory())); Assert.assertEquals(selenium.getSelectedValue("generalDetails.selectedApplicableFor"), Integer.toString(formSavingsParameters.getApplicableFor())); Assert.assertEquals(selenium.getSelectedValue("selectedDepositType"), Integer.toString(formSavingsParameters.getDepositType())); Assert.assertEquals(selenium.getSelectedValue("generalDetails.selectedStatus"), Integer.toString(formSavingsParameters.getStatus())); Assert.assertEquals(selenium.getSelectedValue("selectedInterestCalculation"), Integer.toString(formSavingsParameters.getBalanceInterest())); } }