/** * MPESA - Import has expected errors due to invalid data and overpayment amount and user is not * able to continue http://mifosforge.jira.com/browse/MIFOSTEST-692 * * @throws Exception */ @SuppressWarnings("PMD.SignatureDeclareThrowsException") @Test(enabled = true) public void failImportTransaction() throws Exception { // Given String path = this.getClass().getResource("/mpesa/" + FILE_WITH_OVERPAYMENT_AMOUNT).toString(); String dataset = "mpesa_export_dbunit.xml"; initRemote.dataLoadAndCacheRefresh(dbUnitUtilities, dataset, dataSource, selenium); propertiesHelper.setImportTransactionOrder("AL3,AL5"); SavingsAccountHelper savingsAccountHelper = new SavingsAccountHelper(selenium); savingsAccountHelper.closeSavingsAccount("000100000000019", "Close account"); // When ImportTransactionsPage importTransactionsPage = importTransaction(path); importTransactionsPage.checkErrors( new String[] { "Row <24> error - THY89933" + " - Last account is a loan account but the total paid in amount" + " is greater than the total due amount" }); // Then LoanAccountPage loanAccountPage = navigationHelper.navigateToLoanAccountPage("000100000000013"); loanAccountPage.verifyStatus(LoanAccountPage.ACTIVE); loanAccountPage.verifyExactLoanAmount("2,000"); TransactionHistoryPage transactionHistoryPage = loanAccountPage.navigateToTransactionHistoryPage(); transactionHistoryPage.verifyTransactionHistory(183, 1, 6); }
/** * MPESA - Import has errors and user chooses to import a different file with some valid and * invalid data. http://mifosforge.jira.com/browse/MIFOSTEST-695 * * @throws Exception */ @SuppressWarnings("PMD.SignatureDeclareThrowsException") @Test(enabled = true) public void importTheSameFiles() throws Exception { // Given DateTimeUpdaterRemoteTestingService dateTimeUpdaterRemoteTestingService = new DateTimeUpdaterRemoteTestingService(selenium); DateTime targetTime = new DateTime(2011, 01, 28, 12, 0, 0, 0); dateTimeUpdaterRemoteTestingService.setDateTime(targetTime); String path = this.getClass().getResource("/mpesa/" + FILE_WITH_NO_ERRORS).toString(); String dataset = "mpesa_export_dbunit.xml"; initRemote.dataLoadAndCacheRefresh(dbUnitUtilities, dataset, dataSource, selenium); propertiesHelper.setImportTransactionOrder("AL3,AL5"); // When AdminPage adminPage = navigationHelper.navigateToAdminPage(); ImportTransactionsPage importTransactionsPage = adminPage.navigateToImportTransactionsPage(); ImportTransactionsConfirmationPage importTransactionsConfirmationPage = importTransactionsPage.importTransactions(path, EXCEL_IMPORT_TYPE); // Then importTransactionsConfirmationPage.verifyImportSuccess( "You have successfully imported transactions."); LoanAccountPage loanAccountPage = navigationHelper.navigateToLoanAccountPage("000100000000013"); loanAccountPage.verifyStatus(LoanAccountPage.CLOSED); ViewRepaymentSchedulePage viewRepaymentSchedulePage = loanAccountPage.navigateToRepaymentSchedulePage(); viewRepaymentSchedulePage.verifyFirstInstallmentDate(5, 3, "28-Jan-2011"); loanAccountPage = viewRepaymentSchedulePage.navigateToLoanAccountPage(); loanAccountPage.verifyPerformanceHistory("11", "11"); TransactionHistoryPage transactionHistoryPage = loanAccountPage.navigateToTransactionHistoryPage(); transactionHistoryPage.verifyTransactionHistory(2013, 2, 48); transactionHistoryPage.verifyPostedBy("mifos", 48); SavingsAccountDetailPage savingsAccountDetailPage = navigationHelper.navigateToSavingsAccountDetailPage("000100000000015"); savingsAccountDetailPage.verifySavingsAmount("3170.0"); savingsAccountDetailPage.verifyDate("28/01/2011"); // When adminPage = navigationHelper.navigateToAdminPage(); importTransactionsPage = adminPage.navigateToImportTransactionsPage(); importTransactionsPage = importTransactionsPage.failImportTransaction(path, EXCEL_IMPORT_TYPE); // Then importTransactionsPage.checkErrors( new String[] {"Same file has been already imported. Please import a different file."}); }
/** * MPESA - Import transactions from file with no errors * http://mifosforge.jira.com/browse/MIFOSTEST-688 * * @throws Exception */ @SuppressWarnings({"PMD.SignatureDeclareThrowsException", "PMD.SystemPrintln"}) @Test(enabled = true) public void importTransactionsFromFileWithNoErrors() throws Exception { DateTimeUpdaterRemoteTestingService dateTimeUpdaterRemoteTestingService = new DateTimeUpdaterRemoteTestingService(selenium); DateTime targetTime = new DateTime(2011, 01, 28, 12, 0, 0, 0); dateTimeUpdaterRemoteTestingService.setDateTime(targetTime); AdminPage adminPage = navigationHelper.navigateToAdminPage(); ViewRolesPage viewRolesPage = adminPage.navigateToViewRolesPage(); ManageRolePage manageRolePage = viewRolesPage.navigateToManageRolePage("Admin"); manageRolePage.disablePermission("8_3"); viewRolesPage = manageRolePage.submitAndGotoViewRolesPage(); adminPage = viewRolesPage.navigateToAdminPage(); adminPage = adminPage.failNavigationToImportTransactionsPage(); adminPage.verifyError( "You do not have permissions to perform " + "this activity. Contact your system administrator " + "to grant you the required permissions and try again."); viewRolesPage = adminPage.navigateToViewRolesPage(); manageRolePage = viewRolesPage.navigateToManageRolePage("Admin"); manageRolePage.enablePermission("8_3"); viewRolesPage = manageRolePage.submitAndGotoViewRolesPage(); propertiesHelper.setImportTransactionOrder("AL3,AL5"); String dataset = "mpesa_export_dbunit.xml"; initRemote.dataLoadAndCacheRefresh(dbUnitUtilities, dataset, dataSource, selenium); String path = this.getClass().getResource("/mpesa/" + FILE_WITH_NO_ERRORS).toString(); ImportTransactionsPage importTransactionsPage = importTransaction(path); checkIfOutputMatchesExpected(path); importTransactionsPage.cancelImportTransaction(); LoanAccountPage loanAccountPage = navigationHelper.navigateToLoanAccountPage("000100000000013"); loanAccountPage.verifyStatus(LoanAccountPage.ACTIVE); loanAccountPage.verifyExactLoanAmount("2,000"); SavingsAccountDetailPage savingsAccountDetailPage = navigationHelper.navigateToSavingsAccountDetailPage("000100000000015"); savingsAccountDetailPage.verifySavingsAmount("0"); adminPage = navigationHelper.navigateToAdminPage(); importTransactionsPage = adminPage.navigateToImportTransactionsPage(); ImportTransactionsConfirmationPage importTransactionsConfirmationPage = importTransactionsPage.importTransactions(path, EXCEL_IMPORT_TYPE); importTransactionsConfirmationPage.verifyImportSuccess( "You have successfully imported transactions."); loanAccountPage = navigationHelper.navigateToLoanAccountPage("000100000000013"); loanAccountPage.verifyStatus(LoanAccountPage.CLOSED); ViewRepaymentSchedulePage viewRepaymentSchedulePage = loanAccountPage.navigateToRepaymentSchedulePage(); viewRepaymentSchedulePage.verifyFirstInstallmentDate(5, 3, "28-Jan-2011"); loanAccountPage = viewRepaymentSchedulePage.navigateToLoanAccountPage(); loanAccountPage.verifyPerformanceHistory("11", "11"); TransactionHistoryPage transactionHistoryPage = loanAccountPage.navigateToTransactionHistoryPage(); transactionHistoryPage.verifyTransactionHistory(2013, 2, 48); transactionHistoryPage.verifyPostedBy("mifos", 48); savingsAccountDetailPage = navigationHelper.navigateToSavingsAccountDetailPage("000100000000015"); savingsAccountDetailPage.verifySavingsAmount("3170.0"); savingsAccountDetailPage.verifyDate("28/01/2011"); }