Example #1
0
        public void WhenUncheckMyLocationsFromCurrentLocationViewUsePage()
        {
            var p = new LocationViewUse(TestSetup.Driver);

            if (p.IsMyLocationsChecked)
            {
                p.ClickMyLocations();
            }
        }
Example #2
0
        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");
                }
            }
        }