public void ATC5428_CRMInvestigationVerifySupportOfficerQueue() { User user = this.environment.GetUser(SecurityRole.InvestigationsOfficer); new LoginDialog().Login(user.Id, user.Password); HomePage homePage = new HomePage(driver); String HomeWindow = driver.CurrentWindowHandle; homePage.HoverCRMRibbonTab(); homePage.ClickInvestigationsRibbonButton(); homePage.HoverInvestigationsRibbonTab(); homePage.ClickInvestigationsCasesRibbonButton(); InvestigationCaseSearchPage investigationsCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationsCaseSearchPage.ClickNewInvestigationCaseButton(); // Create new case and validate Status and Substatus fields InvestigationCasePage investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickSaveButton(); String caseNumber = investigationCasePage.GetInvestigationCaseNumber(); String BaseWindow = driver.CurrentWindowHandle; // Add the case to Support Officers Queue investigationCasePage.ClickAddToQueueButton(); investigationCasePage.SetQueue("Investigations Support Officers"); investigationCasePage.ClickDialogAddButton(); driver = driver.SwitchTo().Window(BaseWindow); investigationCasePage.ClickPageTitle(); investigationCasePage.ClickSaveCloseButton(); // Verify the Support Officers queue driver.SwitchTo().Window(HomeWindow); homePage.HoverInvestigationsRibbonTab(); homePage.ClickInvestigationsQueuesRibbonButton(); // Verify the "Support Officers queue" QueueSearchPage investigationQueueSearchPage = new QueueSearchPage(driver); investigationQueueSearchPage.SetSearchRecord(caseNumber); investigationQueueSearchPage.SetQueue("Investigations Support Officers"); Table table = new Table (investigationQueueSearchPage.GetSearchResultTable()); Assert.AreEqual(1, table.GetRowCount(), "Investigation Case is not added to Support Officers Queue"); }
public void ATC5429_CRMInvestigationVerifyInitialAssessmentQueue() { User user = this.environment.GetUser(SecurityRole.Investigations); new LoginDialog().Login(user.Id, user.Password); HomePage homePage = new HomePage(driver); String HomeWindow = driver.CurrentWindowHandle; homePage.HoverCRMRibbonTab(); homePage.ClickInvestigationsRibbonButton(); homePage.HoverInvestigationsRibbonTab(); homePage.ClickInvestigationsCasesRibbonButton(); InvestigationCaseSearchPage investigationsCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationsCaseSearchPage.ClickNewInvestigationCaseButton(); // Create new case and validate Status and Substatus fields InvestigationCasePage investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickSaveButton(); String caseNumber = investigationCasePage.GetInvestigationCaseNumber(); String BaseWindow = driver.CurrentWindowHandle; // Add the case to Support Officers Queue investigationCasePage.ClickAddToQueueButton(); investigationCasePage.SetQueue("Investigations Initial Assessment"); investigationCasePage.ClickDialogAddButton(); driver = driver.SwitchTo().Window(BaseWindow); investigationCasePage.ClickSaveCloseButton(); // Close the current window and login with Investigation Officer driver.Close(); driver = null; this.TestSetup(); user = this.environment.GetUser(SecurityRole.InvestigationsOfficer); new LoginDialog().Login(user.Id, user.Password); // Verify the Support Officers queue homePage = new HomePage(driver); homePage.HoverCRMRibbonTab(); homePage.ClickInvestigationsRibbonButton(); homePage.HoverInvestigationsRibbonTab(); homePage.ClickInvestigationsQueuesRibbonButton(); // Verify the "Initial Assessment queue" QueueSearchPage investigationQueueSearchPage = new QueueSearchPage(driver); investigationQueueSearchPage.SetPageFilterList("All Items"); investigationQueueSearchPage.SetQueue("Investigations Initial Assessment"); // Need to check with Paul Table table = new Table(investigationQueueSearchPage.GetHeaderSearchResultTable()); table.ClickTableColumnHeader("Entered Queue"); table.ClickTableColumnHeader("Entered Queue"); table = new Table(investigationQueueSearchPage.GetSearchResultTable()); table.GetCellValue("Title", caseNumber, "Title"); }
public void ATC6362a_E2ESingleBPAYCancelTenancyRequest() { #region Start Up Excel MyBook = MyApp.Workbooks.Open(DatasourceDir + @"\TenancyRequests.xlsx", 0, false, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); MySheet = (Excel.Worksheet)MyBook.Sheets[Properties.Settings.Default.ENVIRONMENT.ToString()]; MyRange = MySheet.UsedRange; //Get specific row for the data int testDataRows = MyRange.Rows.Count; int MyRow = 0; for (int i = 2; i <= testDataRows; i++) { if (MyRange.Cells[i, 1].Value.ToString() == "6362") { MyRow = i; break; } } #endregion User user = this.environment.GetUser(SecurityRole.RBSOfficer); new LoginDialog().Login(user.Id, user.Password); //Navigate to: Rental Bond Services > Tenancy Requests HomePage homePage = new HomePage(driver); homePage.HoverCRMRibbonTab(); homePage.ClickRBSRibbonButton(); homePage.HoverRBSRibbonTab(); homePage.ClickRtaTenancyRequestRibbonButton(); string managingParty = MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("MANAGING_PARTY")].Value.ToString(); string initialRequestParty = MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("INITIAL_REQUEST_PARTY")].Value.ToString(); /*Data prep: 1 x Address Detail record including the word "Garage"; 1 x Tenancy Request (Bond Lodgment) record at "New" that will fail address validation for invalid keyword (i.e. using prepared address), not already associated to a Tenancy, not associated to a batch, Amount Paid with Lodgement matches Sum of Contributions, Managing Party client that does not already exist within AX; n x Tenancy Request Party records associated to the Tenancy Request using Client records that do not already exist within AX*/ TenancyRequestsSearchPage tenancyRequestSearchPage = new TenancyRequestsSearchPage(driver); tenancyRequestSearchPage.ClickNewTenancyRequestButton(); TenancyRequestPage tenancyRequestPage = new TenancyRequestPage(driver); tenancyRequestPage.ClickPageTitle(); tenancyRequestPage.PopulateTenancyRequestWithNoInitialAndManagingParty( MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("REQUEST_TYPE")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("RENTAL_PREMISES")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("TENANCY_TYPE")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("MANAGEMENT_TYPE")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("NO_ROOMS")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("WEEKLY_RENT")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("INITIAL_CONTRIBUTION")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("AMOUNT_PAID_LODGEMENT")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("LODGEMENT_TYPE")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("TENANCY_START")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("ANTICIPATED_END")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("PAYMENT_TYPE")].Value.ToString()); tenancyRequestPage.CreateNewClient(managingParty); tenancyRequestPage = new TenancyRequestPage(driver); tenancyRequestPage.SetInitialRequestPartyWithSearch(initialRequestParty); tenancyRequestPage.SetDwellingTypeListValue("House"); tenancyRequestPage.ClickSaveButton(); string tenancyRequest = tenancyRequestPage.GetRequestNumber(); StringAssert.Contains(tenancyRequest, "TR-BL-", "Validating the Tenancy Request saved with the correct TR no fromat"); tenancyRequestPage.ClickSaveCloseButton(); //Reopen the record and change the status reason to Ready for Validation and save.The record should show an exception with Invalid Keyword tenancyRequestSearchPage = new TenancyRequestsSearchPage(driver); tenancyRequestSearchPage.SetTenancyRequestSearchText(tenancyRequest); Table table = new Table(tenancyRequestSearchPage.GetSearchResultTable()); StringAssert.Contains(table.GetCellValue("Name", tenancyRequest, "Status Reason"), "New"); table.ClickCellValue("Name", tenancyRequest, "Name"); tenancyRequestPage = new TenancyRequestPage(driver); tenancyRequestPage.ClickPageTitle(); tenancyRequestPage.SetStatusReason("Ready for validation"); tenancyRequestPage.ClickSaveCloseButton(); //Navigate to Queue - BL failed validation homePage.HoverRBSRibbonTab(); homePage.ClickRtaQueuesButton(); QueueSearchPage queuePage = new QueueSearchPage(driver); queuePage.SetPageFilterList("All Items"); queuePage.SetQueue("Bond lodgement failed validation"); Table queueTable = new Table(queuePage.GetSearchResultTable()); //Open the Tenancy Request from the queue.Tenancy Request record displayed, status reason "Validation failed"at least one Request Queue Reason record created for invalid address keyword with status reason "To be resolved" queueTable.ClickCellContainsValue("Title", tenancyRequest, "Title"); tenancyRequestPage = new TenancyRequestPage(driver); StringAssert.Contains(tenancyRequestPage.GetValidationStatusReason(), "Validation failed", "Validation should fail when invalid keyword entered in address details"); //tenancyRequestPage.ClickQueueReasons(); Table queueReasonTable = new Table(tenancyRequestPage.GetQueueReasonTable()); StringAssert.Contains(queueReasonTable.GetCellContainsValue("Reason", "Invalid keyword detected", "Status Reason"), "To be resolved"); //De-activate the Tenancy Request and refresh the record.Tenancy Request record updated with Status "Inactive", Status Reason "Cancelled", Tenancy not populated tenancyRequestPage.ClickDeactivateButton(); WarningDialogueFramePage warningPage = new WarningDialogueFramePage(driver); warningPage.ClickProcessBeginButton(); Thread.Sleep(5000); tenancyRequestPage = new TenancyRequestPage(driver); Assert.AreEqual(tenancyRequestPage.GetStatusReason(), "Cancelled", "Validating that TR:" + tenancyRequest + " Status Reason becomes Cancelled after deactivating the record"); homePage.HoverRBSRibbonTab(); homePage.ClickRtaTenancyRequestRibbonButton(); //Validate whether TR found in the list of recent Inactive Tenancy Requests tenancyRequestSearchPage = new TenancyRequestsSearchPage(driver); tenancyRequestSearchPage.SetPageFilterList("Inactive Tenancy Requests"); //Table tenancyRequestSearchHeaderTable = new Table(tenancyRequestSearchPage.GetHeaderSearchResultTable()); //tenancyRequestSearchHeaderTable.ClickTableColumnHeader("Created On"); // tenancyRequestSearchHeaderTable.ClickTableColumnHeader("Created On"); Table tenancyRequestSearchTable = new Table(tenancyRequestSearchPage.GetSearchResultTable()); StringAssert.Contains(tenancyRequestSearchTable.GetCellContainsValue("Name", tenancyRequest, "Name"), tenancyRequest,"Validating the inactive tenancy request table has the deactivated tenancy request"); #region Shut down Excel MyBook.Save(); MyBook.Close(); MyApp.Quit(); #endregion }