public void UploadDatasetByUserTest(string dataset) { ImportDataset(dataset, PathToZipUser(dataset)); var dataProcessingStatus = new DataProcessingStatusPage(driver); Utils.WaitUntilLoadingDisappears(driver); dataProcessingStatus.CheckRefreshRateToMinimum(); Assert.Multiple(() => { Assert.AreEqual(user, dataProcessingStatus.ClientUser[0].Text, "Incorrect User in User column"); Assert.AreEqual("Add", dataProcessingStatus.UserRequestType[0].Text, "Incorrect Request type"); Assert.AreEqual("Dataset", dataProcessingStatus.UserDataType[0].Text, "Incorrect Data type"); }); wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In queue")); wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In progress")); if (!dataProcessingStatus.UserStatus[0].Text.Equals("Completed successfully") | !dataProcessingStatus.UserStatus[0].Text.Equals("Failed")) { wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In queue")); wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In progress")); } Utils.WaitBeforeAssert(driver); Assert.AreEqual("Completed successfully", dataProcessingStatus.UserStatus[0].Text, $"Status is not Completed successfully for dataset {dataset}"); }
public void UploadDatasetTest(string datasetDifference) { importDataset(datasetDifference, datasetDescription, pathToZipAdmin, "HO3 Florida"); var dataProcessingStatus = new DataProcessingStatusPage(driver); Utils.WaitUntilLoadingDisappears(driver); dataProcessingStatus.CheckRefreshRateToMinimum(); Assert.Multiple(() => { Assert.AreEqual(admin, dataProcessingStatus.User[0].Text, "Incorrect User in User column"); Assert.AreEqual("Add", dataProcessingStatus.RequestType[0].Text, "Incorrect Request type"); Assert.AreEqual("Dataset", dataProcessingStatus.DataType[0].Text, "Incorrect Data type"); }); var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10000)); wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[6]"), "In queue")); wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[6]"), "In progress")); if (!dataProcessingStatus.Status[0].Text.Equals("Completed successfully") | !dataProcessingStatus.UserStatus[0].Text.Equals("Failed")) { wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[6]"), "In queue")); wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[6]"), "In progress")); } Assert.AreEqual("Completed successfully", dataProcessingStatus.Status[0].Text, "Status is not Completed successfully"); }
public void AddRatesByUserTest(string type, string datasetDifference) { loginPage.LoginToApplication(user, "NBV87^yu"); var menu = new MenuPage(driver); var datasetName = $"{DatasetUserDescription(type)} {datasetDifference}"; menu.DataMenuLocator.ClickEx(driver); menu.CarrierRatesAddMenuLocator.Click(); var carrierAddPage = new CarrierRatesAddPage(driver); carrierAddPage.SelectDatasetButtonLocator.Click(); carrierAddPage.SelectDataset(datasetName); Assert.AreEqual(carrierAddPage.SelectDatasetButtonLocator.Text, datasetName, "Dataset is not selected"); carrierAddPage.CarrierNameTextBoxLocator.SendKeys($"User{randomString}"); Assert.True(carrierAddPage.EnteredCarrierNameLocator.Text.Equals($"LUXFT-User{randomString}"), "Carrier name is not entered"); uploadFile(PathToRates(type), driver); Utils.WaitUntilLoadingDisappears(driver, secondtToWait: 500); Assert.True(carrierAddPage.UploadedFileTextLocator.Text.Contains(fileRates), "File is not loaded"); Utils.Scroll(carrierAddPage.FooterLocator, driver); carrierAddPage.StartButtonLocator.Click(); waitQuick.Until(ExpectedConditions.ElementToBeClickable(carrierAddPage.ConfirmAddRatesButtonLocator)).Click(); Utils.WaitUntilLoadingDisappears(driver, secondtToWait: 500); var dataProcessingStatus = new DataProcessingStatusPage(driver); Utils.WaitUntilLoadingDisappears(driver); dataProcessingStatus.CheckRefreshRateToMinimum(); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In queue")); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In progress")); Utils.WaitBeforeAssert(driver); Assert.AreEqual("Completed successfully", dataProcessingStatus.UserStatus[0].Text, "Status is not Completed successfully"); }
public void CheckErrorHandlingTest(string dataset, string validationMessage) { ImportDataset(dataset, PathToZipUser(dataset)); var dataProcessingStatus = new DataProcessingStatusPage(driver); Utils.WaitUntilLoadingDisappears(driver); dataProcessingStatus.CheckRefreshRateToMinimum(); Assert.Multiple(() => { Assert.AreEqual(user, dataProcessingStatus.ClientUser[0].Text, "Incorrect User in User column"); Assert.AreEqual("Add", dataProcessingStatus.UserRequestType[0].Text, "Incorrect Request type"); Assert.AreEqual("Dataset", dataProcessingStatus.UserDataType[0].Text, "Incorrect Data type"); }); wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In queue")); wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In progress")); if (!dataProcessingStatus.UserStatus[0].Text.Equals("Completed successfully") | !dataProcessingStatus.UserStatus[0].Text.Equals("Failed")) { wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In queue")); wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In progress")); } Utils.WaitBeforeAssert(driver); Assert.Multiple(() => { Assert.AreEqual("Failed", dataProcessingStatus.UserStatus[0].Text, $"Status is not Failed for dataset {DatasetUserDescription(dataset)}"); dataProcessingStatus.DataProcessStatusReportLocator.Click(); Thread.Sleep(1000); var a = dataProcessingStatus.ReportPopupLocator.Text; Assert.True(dataProcessingStatus.ReportPopupLocator.Text.Contains(validationMessage)); }); }
public void CheckDeleteDatasetTest(string type, string datasetDifference) { loginPage.LoginToApplication(); var menu = new MenuPage(driver); var datasetName = $"{DatasetUserDescription(type)} {datasetDifference}"; menu.AdministrationMenuLocator.ClickEx(driver); menu.DatasetArchiveDeleteMenuLocator.Click(); var datasetDeletePage = new DatasetDeletePage(driver); Utils.WaitUntilLoadingPlaceholderDisappears(driver); datasetDeletePage.SelectDatasetButtonLocator.Click(); datasetDeletePage.SelectDataset(datasetName); Utils.WaitUntilLoadingDisappears(driver); Assert.AreEqual(datasetName, datasetDeletePage.SelectDatasetButtonLocator.Text, $"Dataset {datasetName} is not selected"); datasetDeletePage.StartButtonLocator.Click(); Utils.WaitUntilLoadingDisappears(driver); var dataProcessingStatus = new DataProcessingStatusPage(driver); Utils.WaitUntilLoadingDisappears(driver); dataProcessingStatus.CheckRefreshRateToMinimum(); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[6]"), "In queue")); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[6]"), "In progress")); Utils.WaitBeforeAssert(driver); Assert.AreEqual("Completed successfully", dataProcessingStatus.Status[0].Text, "Status is not Completed successfully"); }
public void AddLossesByUserTest(string type, string datasetDifference) { loginPage.LoginToApplication(user, "NBV87^yu"); var menu = new MenuPage(driver); var datasetName = $"{DatasetUserDescription(type)} {datasetDifference}"; menu.DataMenuLocator.ClickEx(driver); menu.LossesAddMenuLocator.Click(); var lossesAddPage = new LossesAddPage(driver); lossesAddPage.SelectDatasetButtonLocator.Click(); lossesAddPage.SelectDataset(datasetName); Assert.AreEqual(lossesAddPage.SelectDatasetButtonLocator.Text, datasetName); UploadLosses(type, "LossUser1", driver); wait.Until(ExpectedConditions.ElementToBeClickable(lossesAddPage.StartButtonLocator)).Click(); wait.Until(ExpectedConditions.ElementToBeClickable(lossesAddPage.ConfirmAddRatesButtonLocator)).Click(); Utils.WaitUntilLoadingDisappears(driver, secondtToWait: 500); var dataProcessingStatus = new DataProcessingStatusPage(driver); Utils.WaitUntilLoadingDisappears(driver); dataProcessingStatus.CheckRefreshRateToMinimum(); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In queue")); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In progress")); Utils.WaitBeforeAssert(driver); Assert.AreEqual("Completed successfully", dataProcessingStatus.UserStatus[0].Text, "Status is not Completed successfully"); }
public void CheckCarrierRatesRemovingByAdminTest(string carrierName) { var menu = new MenuPage(driver); menu.DataMenuLocator.ClickEx(driver); menu.CarrierRatesRemoveMenuLocator.Click(); var carrierRemovePage = new CarrierRatesRemovePage(driver); carrierRemovePage.SelectDatasetButtonLocator.Click(); carrierRemovePage.SelectDataset(datasetDescription); carrierRemovePage.SelectCarrierButtonLocator.Click(); carrierRemovePage.SelectCarrier(carrierName); waitQuick.Until(ExpectedConditions.ElementToBeClickable(carrierRemovePage.StartButtonLocator)).Click(); waitQuick.Until(ExpectedConditions.ElementToBeClickable(carrierRemovePage.ConfirmRemoveRatesButtonLocator)).Click(); Utils.WaitUntilLoadingDisappears(driver, secondtToWait: 500); var dataProcessingStatus = new DataProcessingStatusPage(driver); Utils.WaitUntilLoadingDisappears(driver); dataProcessingStatus.CheckRefreshRateToMinimum(); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[6]"), "In queue")); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[6]"), "In progress")); Assert.Multiple(() => { Assert.AreEqual("Completed successfully", dataProcessingStatus.Status[0].Text, "Status is not Completed successfully"); Assert.AreEqual("Carrier Rates", dataProcessingStatus.DataType[0].Text, "Incorrect dataset type"); Assert.AreEqual("Delete", dataProcessingStatus.RequestType[0].Text, "Incorrect request type"); }); }
public void UploadDatasetMandatoryTest(string type) { loginPage.LoginToApplication(user, "NBV87^yu"); var datasetName = $"{DatasetUserDescription(type)}"; ImportDataset("Mandatory", DatasetUserDescription(type), PathToZipMandatoryOnly(type), type); var dataProcessingStatus = new DataProcessingStatusPage(driver); Utils.WaitUntilLoadingDisappears(driver); dataProcessingStatus.CheckRefreshRateToMinimum(); //Assert.True(driver.Url.Equals("https://qa.millimanpixel.com/Integration/DataProcessingStatus"), // "Data processing Page is not opened"); Assert.Multiple(() => { Assert.AreEqual(user, dataProcessingStatus.ClientUser[0].Text, "Incorrect User in User column"); Assert.AreEqual("Add", dataProcessingStatus.UserRequestType[0].Text, "Incorrect Request type"); Assert.AreEqual("Dataset", dataProcessingStatus.UserDataType[0].Text, "Incorrect Data type"); }); wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In queue")); wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In progress")); if (!dataProcessingStatus.UserStatus[0].Text.Equals("Completed successfully") | !dataProcessingStatus.UserStatus[0].Text.Equals("Failed")) { wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In queue")); wait.Until(Extras.ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[5]"), "In progress")); } Utils.WaitBeforeAssert(driver); Assert.AreEqual("Completed successfully", dataProcessingStatus.UserStatus[0].Text, $"Status is not Completed successfully for dataset {datasetName}"); }
public void AddRatesTest(string carrierName, string fileFormat, bool isTypeShared = true) { var menu = new MenuPage(driver); menu.DataMenuLocator.ClickEx(driver); menu.CarrierRatesAddMenuLocator.Click(); var carrierAddPage = new CarrierRatesAddPage(driver); carrierAddPage.SelectDatasetButtonLocator.Click(); carrierAddPage.SelectDataset(datasetDescription); Assert.AreEqual(carrierAddPage.SelectDatasetButtonLocator.Text, datasetDescription, "Dataset is not selected"); carrierAddPage.CarrierNameTextBoxLocator.SendKeys($"{carrierName}{randomString}"); Assert.True(carrierAddPage.EnteredCarrierNameLocator.Text.Contains(carrierName), "Carrier name is not entered"); if (!isTypeShared) { carrierAddPage.CarrierTypeButtonLocator.ClickEx(driver); carrierAddPage.ClientTypeLocator.Click(); Thread.Sleep(500); carrierAddPage.SelectClient("Luxoft"); } if (carrierName == "AdminExportLuxoft") { carrierAddPage.SelectSharedClient("Luxoft", true); } if (carrierName == "AdminLuxShared") { carrierAddPage.SelectSharedClient("Luxoft"); } uploadFile(pathToRates, fileFormat, driver); Utils.WaitUntilLoadingDisappears(driver, secondtToWait: 500); Assert.True(carrierAddPage.UploadedFileTextLocator.Text.Contains(fileRates), "File is not loaded"); Utils.Scroll(carrierAddPage.FooterLocator, driver); carrierAddPage.StartButtonLocator.Click(); waitQuick.Until(ExpectedConditions.ElementToBeClickable(carrierAddPage.ConfirmAddRatesButtonLocator)).Click(); Utils.WaitUntilLoadingDisappears(driver, secondtToWait: 500); var dataProcessingStatus = new DataProcessingStatusPage(driver); Utils.WaitUntilLoadingDisappears(driver); dataProcessingStatus.CheckRefreshRateToMinimum(); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[6]"), "In queue")); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[6]"), "In progress")); Assert.AreEqual("Completed successfully", dataProcessingStatus.Status[0].Text, "Status is not Completed successfully"); }
public void AddLossesTest(string lossName, string fileFormat, string delimiter, bool isTypeShared = true) { var menu = new MenuPage(driver); var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10000)); menu.DataMenuLocator.ClickEx(driver); menu.LossesAddMenuLocator.Click(); var lossesAddPage = new LossesAddPage(driver); lossesAddPage.SelectDatasetButtonLocator.Click(); lossesAddPage.SelectDataset(datasetDescription); Assert.AreEqual(lossesAddPage.SelectDatasetButtonLocator.Text, datasetDescription); UploadLosses(lossName, fileFormat, delimiter, driver); if (!isTypeShared) { lossesAddPage.CarrierTypeButtonLocator.ClickEx(driver); lossesAddPage.ClientTypeLocator.Click(); Thread.Sleep(500); lossesAddPage.SelectClient("Luxoft"); } if (lossName.Contains("AdminLuxoftExport")) { lossesAddPage.SelectSharedClient("Luxoft", true); } if (lossName.Contains("AdminSharedLuxoft")) { lossesAddPage.SelectSharedClient("Luxoft"); } wait.Until(ExpectedConditions.ElementToBeClickable(lossesAddPage.StartButtonLocator)); lossesAddPage.ScrollToStartButton(); lossesAddPage.StartButtonLocator.Click(); wait.Until(ExpectedConditions.ElementToBeClickable(lossesAddPage.ConfirmAddRatesButtonLocator)).Click(); Utils.WaitUntilLoadingDisappears(driver, secondtToWait: 500); var dataProcessingStatus = new DataProcessingStatusPage(driver); Utils.WaitUntilLoadingDisappears(driver); dataProcessingStatus.CheckRefreshRateToMinimum(); int row = dataProcessingStatus.DatasetRow(datasetDescription); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[{row + 1}]/td[6]"), "In queue")); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[{row + 1}]/td[6]"), "In progress")); Assert.AreEqual("Completed successfully", dataProcessingStatus.Status[row].Text, "Status is not Completed successfully"); }
public void AddLossesByAdminTest(string type, string datasetDifference, string lossName, bool isTypeShared, bool isLuxoftLoss) { loginPage.LoginToApplication(); var menu = new MenuPage(driver); var datasetName = $"{DatasetUserDescription(type)} {datasetDifference}"; menu.DataMenuLocator.ClickEx(driver); menu.LossesAddMenuLocator.Click(); var lossesAddPage = new LossesAddPage(driver); lossesAddPage.SelectDatasetButtonLocator.Click(); lossesAddPage.SelectDataset(datasetName); Assert.AreEqual(lossesAddPage.SelectDatasetButtonLocator.Text, datasetName); UploadLosses(type, lossName, driver); if (!isTypeShared) { lossesAddPage.CarrierTypeButtonLocator.ClickEx(driver); lossesAddPage.ClientTypeLocator.Click(); Thread.Sleep(500); if (isLuxoftLoss) { lossesAddPage.SelectClient("Luxoft"); } else { lossesAddPage.SelectClient("Test"); } } wait.Until(ExpectedConditions.ElementToBeClickable(lossesAddPage.StartButtonLocator)); lossesAddPage.ScrollToStartButton(); lossesAddPage.StartButtonLocator.Click(); wait.Until(ExpectedConditions.ElementToBeClickable(lossesAddPage.ConfirmAddRatesButtonLocator)).Click(); Utils.WaitUntilLoadingDisappears(driver, secondtToWait: 500); var dataProcessingStatus = new DataProcessingStatusPage(driver); Utils.WaitUntilLoadingDisappears(driver); dataProcessingStatus.CheckRefreshRateToMinimum(); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[6]"), "In queue")); wait.Until(ExpectedConditions.InvisibilityOfElementWithText(By.XPath($"//*[@id='admin-table-office']//tr[1]/td[6]"), "In progress")); Utils.WaitBeforeAssert(driver); Assert.AreEqual("Completed successfully", dataProcessingStatus.Status[0].Text, "Status is not Completed successfully"); }