package org.mifos.test.acceptance.admin; import org.mifos.test.acceptance.framework.MifosPage; import org.mifos.test.acceptance.framework.UiTestCaseBase; import org.mifos.test.acceptance.framework.admin.FeesCreatePage.SubmitFormParameters; import org.mifos.test.acceptance.framework.testhelpers.NavigationHelper; import org.mifos.test.acceptance.util.StringUtil; import org.springframework.test.context.ContextConfiguration; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @ContextConfiguration(locations = {"classpath:ui-test-context.xml"}) @Test(singleThreaded = true, groups = {"smoke", "fees", "acceptance", "no_db_unit"}) public class DefineAndViewFeesTest extends UiTestCaseBase { private FeeTestHelper feeTestHelper; @Override @SuppressWarnings("PMD.SignatureDeclareThrowsException") // one of the dependent methods throws Exception @BeforeMethod(alwaysRun = true) public void setUp() throws Exception { super.setUp(); feeTestHelper = new FeeTestHelper(null,new NavigationHelper(selenium)); } @AfterMethod public void logOut() { (new MifosPage(selenium)).logout(); } @SuppressWarnings("PMD.SignatureDeclareThrowsException") public void verifyViewFeesTableContentsTest() throws Exception { defineFee("ClientFee", "All Customers"); defineFee("ProductFee", "Loans"); feeTestHelper.viewClientFees("ClientFee"); feeTestHelper.viewProductFees("ProductFee"); } @SuppressWarnings("PMD.SignatureDeclareThrowsException") // one of the dependent methods throws Exception public void createPeriodicFees() throws Exception { SubmitFormParameters feeParameters = feeTestHelper.getFeeParameters(StringUtil.getRandomString(5), "Group", false, SubmitFormParameters.PERIODIC_FEE_FREQUENCY, 6, "6201 - Miscelleneous Income"); feeParameters.setFeeFrequencyType(feeParameters.PERIODIC_FEE_FREQUENCY); feeParameters.setFeeRecurrenceType(feeParameters.MONTHLY_FEE_RECURRENCE); feeParameters.setMonthRecurAfter(2); feeTestHelper.defineFees(feeParameters); } @SuppressWarnings("PMD.SignatureDeclareThrowsException") // one of the dependent methods throws Exception public void createOneTimeFees() { SubmitFormParameters feeParameters = feeTestHelper.getFeeParameters(StringUtil.getRandomString(5), "All Customers", false, SubmitFormParameters.ONETIME_FEE_FREQUENCY, 20, "31301 - Fees"); feeParameters.setCustomerCharge("Upfront"); feeTestHelper.defineFees(feeParameters); } private void defineFee(String feeName, String categoryType) { SubmitFormParameters feeParameters = feeTestHelper.getFeeParameters(feeName, categoryType, false, SubmitFormParameters.ONETIME_FEE_FREQUENCY, 20, "31301 - Fees"); feeParameters.setCustomerCharge("Upfront"); feeTestHelper.defineFees(feeParameters); } }