Beispiel #1
0
        public void FreightGreaterThanFilter()
        {
            this.driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/filter-row");
            var kendoGrid = new KendoGrid(this.driver, this.driver.FindElement(By.Id("grid")));

            var allItems       = this.GetAllItemsFromDb().OrderBy(x => x.Freight);
            var biggestFreight = allItems.Last().Freight;

            var newItem = this.CreateNewItemInDb();

            newItem.Freight = biggestFreight + this.GetUniqueNumberValue();
            this.UpdateItemInDb(newItem);

            var secondNewItem = this.CreateNewItemInDb(newItem.ShipName);

            secondNewItem.Freight = newItem.Freight + 1;
            this.UpdateItemInDb(secondNewItem);

            kendoGrid.Filter(FreightColumnName, Enums.FilterOperator.GreaterThan, newItem.Freight.ToString());
            this.WaitForGridToLoadAtLeast(1, kendoGrid);
            var results = kendoGrid.GetItems <Order>();

            Assert.IsTrue(results.Count() == 1);

            // We assume that there isn't default sorting for this column so we cannot expect that the order will be the same every time.
            Assert.AreEqual(1, results.Count(x => x.Freight == secondNewItem.Freight));
        }
        public void OrderDateNotEqualToFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/remote-data-binding");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            var allItems      = GetAllItemsFromDb().OrderBy(x => x.OrderDate);
            var lastOrderDate = allItems.Last().OrderDate;

            var newItem = CreateNewItemInDb();

            newItem.OrderDate = lastOrderDate.AddDays(1);
            UpdateItemInDb(newItem);

            var secondNewItem = CreateNewItemInDb(newItem.ShipName);

            secondNewItem.OrderDate = lastOrderDate.AddDays(2);
            UpdateItemInDb(secondNewItem);

            // After we filter by the unique shipping name, two items will be displayed in the grid.
            // After we apply the date after filter only the second item should be visible in the grid.
            kendoGrid.Filter(
                new GridFilter(OrderDateColumnName, FilterOperator.NotEqualTo, newItem.OrderDate.ToString()),
                new GridFilter(ShipNameColumnName, FilterOperator.EqualTo, newItem.ShipName));
            WaitForGridToLoadAtLeast(1, kendoGrid);
            var results = kendoGrid.GetItems <Order>();

            Assert.IsTrue(results.Count() == 1);
            Assert.AreEqual(secondNewItem.ToString(), results[0].OrderDate);
        }
Beispiel #3
0
        public void OrderDateIsBeforeOrEqualToFilter()
        {
            this.driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/remote-data-binding");
            var kendoGrid = new KendoGrid(this.driver, this.driver.FindElement(By.Id("grid")));

            var allItems      = this.GetAllItemsFromDb().OrderBy(x => x.OrderDate);
            var lastOrderDate = allItems.First().OrderDate;

            var newItem = this.CreateNewItemInDb();

            newItem.OrderDate = lastOrderDate.AddDays(-1);
            this.UpdateItemInDb(newItem);

            var secondNewItem = this.CreateNewItemInDb(newItem.ShipName);

            secondNewItem.OrderDate = lastOrderDate.AddDays(-2);
            this.UpdateItemInDb(secondNewItem);

            kendoGrid.Filter(
                new GridFilter(OrderDateColumnName, Enums.FilterOperator.IsBeforeOrEqualTo, newItem.OrderDate.ToString()),
                new GridFilter(ShipNameColumnName, Enums.FilterOperator.EqualTo, newItem.ShipName));
            this.WaitForGridToLoadAtLeast(2, kendoGrid);
            var results = kendoGrid.GetItems <Order>();

            Assert.IsTrue(results.Count() == 2);
            Assert.AreEqual(secondNewItem.ToString(), results[0].OrderDate);
            Assert.AreEqual(newItem.ToString(), results[1].OrderDate);
        }
        public void FreightLessThanFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/filter-row");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            var allItems        = GetAllItemsFromDb().OrderBy(x => x.Freight);
            var smallestFreight = allItems.First().Freight;

            var newItem = CreateNewItemInDb();

            newItem.Freight = Math.Round(smallestFreight - GetUniqueNumberValue(), 3, MidpointRounding.AwayFromZero);
            UpdateItemInDb(newItem);

            var secondNewItem = CreateNewItemInDb(newItem.ShipName);

            secondNewItem.Freight = Math.Round(newItem.Freight - 0.01, 3, MidpointRounding.AwayFromZero);
            UpdateItemInDb(secondNewItem);

            kendoGrid.Filter(FreightColumnName, FilterOperator.LessThan, newItem.Freight.ToString());
            WaitForGridToLoadAtLeast(1, kendoGrid);
            var results = kendoGrid.GetItems <Order>();

            Assert.IsTrue(results.Count() == 1);

            // We assume that there isn't default sorting for this column so we cannot expect that the order will be the same every time.
            Assert.AreEqual(1, results.Count(x => x.Freight == secondNewItem.Freight));
        }
        public void OrderDateSortDesc()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/remote-data-binding");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            var allItems      = GetAllItemsFromDb().OrderBy(x => x.OrderDate);
            var lastOrderDate = allItems.First().OrderDate;

            var newItem = CreateNewItemInDb();

            newItem.OrderDate = lastOrderDate.AddDays(-1);
            UpdateItemInDb(newItem);

            var secondNewItem = CreateNewItemInDb(newItem.ShipName);

            secondNewItem.OrderDate = lastOrderDate.AddDays(-2);
            UpdateItemInDb(secondNewItem);

            kendoGrid.Filter(ShipNameColumnName, FilterOperator.EqualTo, newItem.ShipName);
            WaitForGridToLoadAtLeast(2, kendoGrid);
            kendoGrid.Sort(OrderDateColumnName, SortType.Desc);
            Thread.Sleep(1000);
            var results = kendoGrid.GetItems <Order>();

            Assert.IsTrue(results.Count() == 2);
            Assert.AreEqual(newItem.ToString(), results[0].OrderDate);
            Assert.AreEqual(secondNewItem.ToString(), results[1].OrderDate);
        }
 public void FilterContactName()
 {
     this.driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/index");
     var kendoGrid = new KendoGrid(this.driver, this.driver.FindElement(By.Id("grid")));
     kendoGrid.Filter("ContactName", Enums.FilterOperator.Contains, "Thomas");
     var items = kendoGrid.GetItems<GridItem>();
     Assert.AreEqual(1, items.Count);
 }
        public void FilterContactName()
        {
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            kendoGrid.Filter("ContactName", FilterOperator.Contains, "Thomas");
            var items = kendoGrid.GetItems <GridItem>();

            Assert.AreEqual(1, items.Count);
        }
Beispiel #8
0
        public void FilterContactName()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/index");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            kendoGrid.Filter("ContactName", FilterOperator.Contains, "Thomas");
            var items = kendoGrid.GetItems <GridItem>();

            Assert.AreEqual(1, items.Count);
        }
Beispiel #9
0
        public void OrderIdEqualToFilter()
        {
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));
            var newItem   = CreateNewItemInDb();

            kendoGrid.Filter(OrderIdColumnName, FilterOperator.EqualTo, newItem.OrderId.ToString());
            WaitForGridToLoad(1, kendoGrid);
            var items = kendoGrid.GetItems <GridItem>();

            Assert.AreEqual(1, items.Count);
        }
        private void NavigateToGridInitialPage(KendoGrid kendoGrid, int initialPageNumber)
        {
            var gridFilterPage = new GridFilterPage(_driver);

            gridFilterPage.NavigateTo();
            kendoGrid.Filter(ShipNameColumnName, FilterOperator.EqualTo, _uniqueShippingName);
            kendoGrid.ChangePageSize(1);
            WaitForGridToLoad(1, kendoGrid);
            kendoGrid.NavigateToPage(initialPageNumber);
            WaitForPageToLoad(initialPageNumber, kendoGrid);
            AssertPagerInfoLabel(gridFilterPage, initialPageNumber, initialPageNumber, _testPagingItems.Count);
        }
        public void OrderIdEqualToFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/frozen-columns");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));
            var newItem   = CreateNewItemInDb();

            kendoGrid.Filter(OrderIdColumnName, FilterOperator.EqualTo, newItem.OrderId.ToString());
            WaitForGridToLoad(1, kendoGrid);
            var items = kendoGrid.GetItems <GridItem>();

            Assert.AreEqual(1, items.Count);
        }
Beispiel #12
0
        public void ShipNameEqualToFilter()
        {
            this.driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/filter-row");
            var kendoGrid = new KendoGrid(this.driver, this.driver.FindElement(By.Id("grid")));
            var newItem   = this.CreateNewItemInDb();

            kendoGrid.Filter(ShipNameColumnName, FilterOperator.EqualTo, newItem.ShipName);
            this.WaitForGridToLoad(1, kendoGrid);
            var items = kendoGrid.GetItems <GridItem>();

            Assert.AreEqual(1, items.Count);
        }
        public void ShipNameClearFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/filter-row");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));
            var newItem   = CreateNewItemInDb();

            // Filter by GUID and we know we wait the grid to be empty
            kendoGrid.Filter(ShipNameColumnName, FilterOperator.StartsWith, Guid.NewGuid().ToString());
            WaitForGridToLoad(0, kendoGrid);
            // Remove all filters and we expect that the grid will contain at least 1 item.
            kendoGrid.RemoveFilters();
            WaitForGridToLoadAtLeast(1, kendoGrid);
        }
        public void OrderDateClearFilter()
        {
            this.driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/frozen-columns");
            var kendoGrid = new KendoGrid(this.driver, this.driver.FindElement(By.Id("grid")));

            var newItem = this.CreateNewItemInDb();

            kendoGrid.Filter(OrderDateColumnName, Enums.FilterOperator.IsAfter, DateTime.MaxValue.ToString());
            this.WaitForGridToLoad(0, kendoGrid);
            kendoGrid.RemoveFilters();

            this.WaitForGridToLoadAtLeast(1, kendoGrid);
        }
        public void OrderDateClearFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/remote-data-binding");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            var newItem = CreateNewItemInDb();

            kendoGrid.Filter(OrderDateColumnName, FilterOperator.IsAfter, DateTime.MaxValue.ToString());
            WaitForGridToLoad(0, kendoGrid);
            kendoGrid.RemoveFilters();

            WaitForGridToLoadAtLeast(1, kendoGrid);
        }
        public void ShipNameContainsFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/filter-row");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));
            var shipName  = Guid.NewGuid().ToString();

            // Remove first and last letter
            shipName = shipName.TrimStart(shipName.First()).TrimEnd(shipName.Last());
            var newItem = CreateNewItemInDb(shipName);

            kendoGrid.Filter(ShipNameColumnName, FilterOperator.Contains, newItem.ShipName);
            WaitForGridToLoad(1, kendoGrid);
            var items = kendoGrid.GetItems <GridItem>();

            Assert.AreEqual(1, items.Count);
        }
Beispiel #17
0
        public void ShipNameStartsWithFilter()
        {
            this.driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/filter-row");
            var kendoGrid = new KendoGrid(this.driver, this.driver.FindElement(By.Id("grid")));

            // Remove last letter
            string shipName = Guid.NewGuid().ToString();

            shipName = shipName.TrimEnd(shipName.Last());
            var newItem = this.CreateNewItemInDb(shipName);

            kendoGrid.Filter(ShipNameColumnName, Enums.FilterOperator.StartsWith, newItem.ShipName);
            this.WaitForGridToLoad(1, kendoGrid);
            var items = kendoGrid.GetItems <GridItem>();

            Assert.AreEqual(1, items.Count);
        }
        public void FreightEqualToFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/filter-row");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            var newItem = CreateNewItemInDb();

            newItem.Freight = GetUniqueNumberValue();
            UpdateItemInDb(newItem);

            kendoGrid.Filter(FreightColumnName, FilterOperator.EqualTo, newItem.Freight.ToString());
            WaitForGridToLoadAtLeast(1, kendoGrid);
            var results = kendoGrid.GetItems <Order>();

            Assert.IsTrue(results.Count() == 1);
            Assert.AreEqual(newItem.Freight.ToString(), results[0].Freight);
        }
        public void ShipNameNotEqualToFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/filter-row");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            // Apply combined filter. First filter by ID and than by ship name (not equal filter).
            // After the first filter there is only one element when we apply the second we expect 0 elements.
            var newItem = CreateNewItemInDb();

            kendoGrid.Filter(
                new GridFilter(ShipNameColumnName, FilterOperator.NotEqualTo, newItem.ShipName),
                new GridFilter(OrderIdColumnName, FilterOperator.EqualTo, newItem.OrderId.ToString()));
            WaitForGridToLoad(0, kendoGrid);
            var items = kendoGrid.GetItems <GridItem>();

            Assert.AreEqual(0, items.Count);
        }
        public void OrderIdClearFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/frozen-columns");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));
            // Create new item with unique ship name;
            var newItem = CreateNewItemInDb();
            // Make sure that we have at least 2 items if the grid is empty. The tests are designed to run against empty DB.
            var secondNewItem = CreateNewItemInDb(newItem.ShipName);

            kendoGrid.Filter(OrderIdColumnName, FilterOperator.EqualTo, newItem.OrderId.ToString());
            WaitForGridToLoad(1, kendoGrid);
            kendoGrid.RemoveFilters();

            WaitForGridToLoadAtLeast(1, kendoGrid);
            var results = kendoGrid.GetItems <Order>();

            Assert.IsTrue(results.Count() > 1);
        }
        public void FreightNotEqualToFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/filter-row");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            var newItem = CreateNewItemInDb();

            newItem.Freight = GetUniqueNumberValue();
            UpdateItemInDb(newItem);

            // After we apply the orderId filter, only 1 item is displayed in the grid. When we apply the NotEqualTo filter this item will disappear.
            kendoGrid.Filter(
                new GridFilter(FreightColumnName, FilterOperator.NotEqualTo, newItem.Freight.ToString()),
                new GridFilter(OrderIdColumnName, FilterOperator.EqualTo, newItem.OrderId.ToString()));
            WaitForGridToLoad(0, kendoGrid);
            var results = kendoGrid.GetItems <Order>();

            Assert.IsTrue(results.Count() == 0);
        }
Beispiel #22
0
        public void OrderIdNotEqualToFilter()
        {
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            // Create new item with unique ship name;
            var newItem = CreateNewItemInDb();

            // Create second new item with the same unique shipping name
            var secondNewItem = CreateNewItemInDb(newItem.ShipName);

            // Filter by the larger orderId but also by the second unique column in this case shipping name
            kendoGrid.Filter(
                new GridFilter(OrderIdColumnName, FilterOperator.NotEqualTo, secondNewItem.OrderId.ToString()),
                new GridFilter(ShipNameColumnName, FilterOperator.EqualTo, secondNewItem.ShipName));
            WaitForGridToLoadAtLeast(1, kendoGrid);
            var results = kendoGrid.GetItems <Order>();

            Assert.AreEqual(newItem.OrderId, results.FirstOrDefault(x => x.ShipName == newItem.ShipName).OrderId);
            Assert.IsTrue(results.Count() == 1);
        }
        public void OrderIdGreaterThanFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/frozen-columns");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            // Create new item with unique ship name;
            var newItem = CreateNewItemInDb();
            // Create second new item with the same unique shipping name
            var secondNewItem = CreateNewItemInDb(newItem.ShipName);

            // Filter by the smaller orderId but also by the second unique column in this case shipping name
            kendoGrid.Filter(
                new GridFilter(OrderIdColumnName, FilterOperator.GreaterThan, newItem.OrderId.ToString()),
                new GridFilter(ShipNameColumnName, FilterOperator.EqualTo, newItem.ShipName));
            WaitForGridToLoadAtLeast(1, kendoGrid);
            var results = kendoGrid.GetItems <Order>();

            Assert.AreEqual(secondNewItem.OrderId, results.FirstOrDefault(x => x.ShipName == secondNewItem.ShipName).OrderId);
            Assert.IsTrue(results.Count() == 1);
        }
        public void OrderDateEqualToFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/remote-data-binding");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            var allItems      = GetAllItemsFromDb().OrderBy(x => x.OrderId);
            var lastOrderDate = allItems.Last().OrderDate;

            var newItem = CreateNewItemInDb();

            newItem.OrderDate = lastOrderDate.AddDays(1);
            UpdateItemInDb(newItem);

            kendoGrid.Filter(OrderDateColumnName, FilterOperator.EqualTo, newItem.OrderDate.ToString());
            WaitForGridToLoadAtLeast(1, kendoGrid);
            var results = kendoGrid.GetItems <Order>();

            Assert.IsTrue(results.Count() == 1);
            Assert.AreEqual(newItem.OrderDate.ToString(), results[0].OrderDate);
        }
        public void OrderIdGreaterThanOrEqualToFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/frozen-columns");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            // Create new item with unique ship name;
            var newItem = CreateNewItemInDb();
            // Create second new item with the same unique shipping name
            var secondNewItem = CreateNewItemInDb(newItem.ShipName);

            // When we filter by the second unique column ShippingName, only one item will be displayed. Once we apply the second not equal to filter the grid should be empty.
            kendoGrid.Filter(
                new GridFilter(OrderIdColumnName, FilterOperator.GreaterThanOrEqualTo, newItem.OrderId.ToString()),
                new GridFilter(ShipNameColumnName, FilterOperator.EqualTo, newItem.ShipName));
            WaitForGridToLoadAtLeast(2, kendoGrid);
            var results = kendoGrid.GetItems <Order>();

            Assert.AreEqual(secondNewItem.OrderId, results.FirstOrDefault(x => x.ShipName == secondNewItem.ShipName).OrderId);
            Assert.AreEqual(newItem.OrderId, results.FirstOrDefault(x => x.ShipName == newItem.ShipName).OrderId);
            Assert.IsTrue(results.Count() == 2);
        }
Beispiel #26
0
        public void ShipNameNotContainsFilter()
        {
            this.driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/filter-row");
            var kendoGrid = new KendoGrid(this.driver, this.driver.FindElement(By.Id("grid")));

            // Remove first and last letter
            string shipName = Guid.NewGuid().ToString();

            shipName = shipName.TrimStart(shipName.First()).TrimEnd(shipName.Last());
            var newItem = this.CreateNewItemInDb(shipName);

            // Apply combined filter. First filter by ID and than by ship name (not equal filter).
            // After the first filter there is only one element when we apply the second we expect 0 elements.
            kendoGrid.Filter(
                new GridFilter(ShipNameColumnName, FilterOperator.NotContains, newItem.ShipName),
                new GridFilter(OrderIdColumnName, FilterOperator.EqualTo, newItem.OrderId.ToString()));
            this.WaitForGridToLoad(0, kendoGrid);
            var items = kendoGrid.GetItems <GridItem>();

            Assert.AreEqual(0, items.Count);
        }
        public void FreightClearFilter()
        {
            _driver.Navigate().GoToUrl(@"http://demos.telerik.com/kendo-ui/grid/filter-row");
            var kendoGrid = new KendoGrid(_driver, _driver.FindElement(By.Id("grid")));

            var allItems       = GetAllItemsFromDb().OrderBy(x => x.Freight);
            var biggestFreight = allItems.Last().Freight;

            var newItem = CreateNewItemInDb();

            newItem.Freight = biggestFreight + GetUniqueNumberValue();
            UpdateItemInDb(newItem);

            var secondNewItem = CreateNewItemInDb(newItem.ShipName);

            secondNewItem.Freight = newItem.Freight + 1;
            UpdateItemInDb(secondNewItem);

            kendoGrid.Filter(FreightColumnName, FilterOperator.EqualTo, newItem.Freight.ToString());
            WaitForGridToLoad(1, kendoGrid);
            kendoGrid.RemoveFilters();

            WaitForGridToLoadAtLeast(2, kendoGrid);
        }