Example #1
0
        public void GridSorting(
            FilterSearchData.GridColumnsNames columnName,
            FilterSearchData.ToolsTypes toolType,
            string searchTerm)
        {
            this.App.Ui.ToolsMain.SelectToolType(toolType);
            this.App.Ui.ToolsMain.PerformSearch(searchTerm);

            this.App.Ui.ToolsMain.ClickColumnName(columnName);
            var sorting = this.App.Ui.ToolsMain.GetCurrentSorting();

            Assert.That(
                sorting.Key.Equals(columnName.ToString()) && sorting.Value.Equals("ASC"),
                $"Sorting is incorrect. Should be ASC by '{columnName}'");

            var names = this.GetDefinedIntResults(columnName);

            this.App.Ui.ToolsMain.ClickRandomPage();

            names.AddRange(this.GetDefinedIntResults(columnName));
            Assert.That(names.SequenceEqual(names.OrderBy(n => n).ToList()), "Order is wrong");

            App.Ui.ToolsMain.ClickPage(1);

            this.App.Ui.ToolsMain.ClickColumnName(columnName);

            sorting = this.App.Ui.ToolsMain.GetCurrentSorting();

            Assert.That(sorting.Key.Equals(columnName.ToString()) && sorting.Value.Equals("DESC"));

            names = this.GetDefinedIntResults(columnName);


            this.App.Ui.ToolsMain.ClickPage(2);

            #region remove zeroes

            names.AddRange(this.GetDefinedIntResults(columnName));
            int numberOfZero = 0;
            if (names.Contains(0))
            {
                foreach (var n in names)
                {
                    if (n == 0)
                    {
                        numberOfZero++;
                    }
                }


                for (int i = 0; i < numberOfZero; i++)
                {
                    names.Remove(0);
                }
            }

            #endregion

            Assert.That(names.SequenceEqual(names.OrderByDescending(n => n).ToList()), "Order is wrong");
        }
Example #2
0
        //ToolAssembly model is used for all Tool types since there is no difference on UI
        private List <int> GetDefinedIntResults(FilterSearchData.GridColumnsNames searchFieldName)
        {
            switch (searchFieldName)
            {
            case FilterSearchData.GridColumnsNames.LENGTH:
            {
                return(this.App.Ui.ToolsMain.GetAssembliesResults().Select(r => r.Length).ToList());
            }

            case FilterSearchData.GridColumnsNames.QUANTITY:
            {
                return(this.App.Ui.ToolsMain.GetAssembliesResults().Select(r => r.Quantity).ToList());
            }

            case FilterSearchData.GridColumnsNames.SIZE:
            {
                return(this.App.Ui.ToolsMain.GetAssembliesResults()
                       .Select(r => r.CutterAssembly.Cutter.Diameter).ToList());
            }

            default:
            {
                return(null);
            }
            }
        }
 public void ClickColumnName(FilterSearchData.GridColumnsNames name)
 {
     this.UpdateGridSlow(() => this.App.Pages.ToolsPages.ToolsMainPage.ClickColumnName(name.ToString()), 10);
 }