public void WhenUncheckMyLocationsFromCurrentLocationViewUsePage() { var p = new LocationViewUse(TestSetup.Driver); if (p.IsMyLocationsChecked) { p.ClickMyLocations(); } }
public void WhenExportLocationsFromViewUseWithMyLocationAndFields( string myLocCheck, string fieldsString) { WhenSearchIndustryFromCurrentViewUsePage("Foodservice"); var viewPage = new LocationViewUse(TestSetup.Driver); var tableSize = viewPage.TableSize; viewPage .ClickExport(); var exportPage = new PopupLocExportSpec(TestSetup.Driver) .SelectFileType("Excel"); var selectedFields = new HashSet <string>(); Regex.Split(fieldsString.Trim(), @"[ ,]+").Where(x => x != "").ToList().ForEach(f => { switch (f) { case "Status": selectedFields.Add("Status"); exportPage.ClickStatusCheckbox(); break; case "Parent GLN": selectedFields.Add("ParentGLN"); exportPage.ClickParentGlnCheckbox(); break; default: throw new ArgumentException($"Unknown export field: {f}"); } }); exportPage .ClickExport(); new MainPage(TestSetup.Driver) .ClickExportCenterIcon(); var exportCenter = Poll( "Wait for export to become available", 60, 5, () => new ExportCenter(TestSetup.Driver).RefreshPage(), p => p.LatestItemStatus == "Complete"); var filename = exportCenter.LatestItemFileName; exportCenter.DownloadLatestItem(); var path = Path.Combine(TestSetup.Config.DownloadFolder, filename); Wait(TestSetup.Driver, 60, d => File.Exists(path)).ShouldBeTrue(); using (var excel = new ExcelPackage(new FileInfo(path))) { var ws = excel.Workbook.Worksheets["ExportSharedLocation"]; ws.Dimension.Rows.ShouldBe(tableSize + 1); var h = new HashSet <string>(); for (var i = 1; i <= ws.Dimension.Columns; ++i) { var colName = ws.Cells[1, i].Value as string; selectedFields.Remove(colName); h.Add(colName); } selectedFields.ShouldBeEmpty(); if (myLocCheck == "with") { h.ShouldContain("MyLocations"); } else if (myLocCheck == "without") { h.ShouldNotContain("MyLocations"); } } }