Beispiel #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");
        }
Beispiel #2
0
        public void SelectToolType(FilterSearchData.ToolsTypes toolsType)
        {
            var elements = this.GetRawGridLineElements();
            var button   = this.Driver.Finds(this.toolTypeButtonLocator)
                           .First(t => t.Text.Equals(toolsType.ToString()));

            if (!button.GetAttribute("class").Contains("active"))
            {
                button.Click();
                this.Driver.WaitForElementStaleBool(elements.Last(), 10);
            }
            this.WaitForPageLoad();
        }
Beispiel #3
0
        public void GridSortingByName(
            FilterSearchData.ToolsTypes toolType,
            string searchTerm)
        {
            this.App.Ui.ToolsMain.SelectToolType(toolType);
            this.App.Ui.ToolsMain.PerformSearch(searchTerm);

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


            Assert.That(sorting.Key.Equals("NAME") && sorting.Value.Equals("ASC"));

            var namesOriginal = this.GetNames();

            var page = this.App.Ui.ToolsMain.ClickRandomPage();

            namesOriginal.AddRange(this.GetNames());

            if (!toolType.Equals(FilterSearchData.ToolsTypes.Holders))
            {
                Assert.That(namesOriginal.SequenceEqual(namesOriginal.OrderBy(n => n).ToList()), "Order is wrong");
            }

            this.App.Ui.ToolsMain.ClickColumnName(FilterSearchData.GridColumnsNames.NAME);

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

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

            var namesAfterSorting = this.GetNames();

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

            namesAfterSorting.AddRange(this.GetNames());

            if (!toolType.Equals(FilterSearchData.ToolsTypes.Holders))
            {
                Assert.That(
                    namesAfterSorting.SequenceEqual(namesAfterSorting.OrderByDescending(n => n).ToList()),
                    "Order is wrong");
            }
            else
            {
                Assert.That(
                    !namesAfterSorting.SequenceEqual(namesOriginal),
                    "Order is wrong");
            }
        }
        protected void ResetFiltersTest(
            Action resetMethod,
            Dictionary <FilterSearchData.Filters, object> filters,
            FilterSearchData.ToolsTypes toolType,
            bool resetToolType = false)
        {
            this.App.Ui.ToolsMain.SelectToolType(toolType);

            var resultsBuforeFilteringUi = this.App.Ui.ToolsMain.GetGridRecords();

            this.App.Ui.ToolsMain.PerformFiltering(filters);
            var resultsUi = this.App.Ui.ToolsMain.GetGridRecords();

            var states = this.App.Ui.ToolsMain.GetFiltersStates(filters);

            foreach (var filter in filters.Keys)
            {
                Assert.AreEqual(
                    filters[filter] == null ? filtersDropDownsAndTextFields[filter] : filters[filter].ToString(),
                    states[filter],
                    $"Filter {filter} in a wrong state. Actual is {states[filter]} but should be {filters[filter]}");
            }

            resetMethod.Invoke();

            var resultsUiAfterUpdate = this.App.Ui.ToolsMain.GetGridRecords();

            Assert.That(
                resultsUi.Count != resultsUiAfterUpdate.Count &&
                !resultsUiAfterUpdate.Contains(resultsUi.First()),
                "Tools Main page wasn't reset");

            if (!resetToolType)
            {
                Assert.That(
                    resultsUiAfterUpdate.Select(e => e.Name).ToList()
                    .SequenceEqual(resultsBuforeFilteringUi.Select(e => e.Name).ToList()),
                    "Tools Main page wasn't reset");
            }
            else
            {
                Assert.That(this.App.Ui.ToolsMain.GetActiveToolType().Equals(FilterSearchData.ToolsTypes.Tools));
            }

            this.CheckFiltersInitialState(filters);
        }
Beispiel #5
0
        public void GridDefaultSorting(FilterSearchData.ToolsTypes toolType, string searchTerm)
        {
            this.App.Ui.ToolsMain.SelectToolType(toolType);
            if (searchTerm != null)
            {
                this.App.Ui.ToolsMain.PerformSearch(searchTerm);
            }

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

            Assert.That(sorting.Key.Equals("NAME") && sorting.Value.Equals("ASC"));

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

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

            Assert.That(sorting.Key.Equals("NAME") && sorting.Value.Equals("ASC"));
        }
        protected void CheckEmptySearchGridTest(FilterSearchData.ToolsTypes toolType)
        {
            var expectedColumns = new List <string> {
                "NAME", "SIZE", "LENGTH", "QUANTITY"
            };

            this.App.Ui.ToolsMain.SelectToolType(toolType);
            this.App.Ui.ToolsMain.PerformSearch("zz###"); //Not existing tool
            var columnNames = this.App.Ui.ToolsMain.GetGridColumnsNames();

            columnNames = ServiceMethods.RemoveStringsInList(columnNames, new List <string> {
                "▲", "▼"
            });
            List <string> processedNames = new List <string>();

            columnNames.ForEach(e => processedNames.Add(e.ToUpper()));

            Assert.That(processedNames.SequenceEqual(expectedColumns));

            var results = this.App.Ui.ToolsMain.GetAssembliesResults();

            Assert.That(results.Count == 0, "There are shouldn't be results for not existing tool");
        }
 public void SelectToolType(FilterSearchData.ToolsTypes toolsType)
 {
     this.App.Pages.ToolsPages.ToolsMainPage.SelectToolType(toolsType);
 }