예제 #1
0
        public void FilterByPrice()
        {
            //Arrange
            var booksResultsPage   = new FilterPage(driver);
            var bookPage           = new GoodsItemPage(driver);
            var minPriceValueToSet = 20;
            var maxPriceValueToSet = 250;

            //Act
            booksResultsPage
            .SetMinimumPrice(minPriceValueToSet)
            .SetMaximumPrice(maxPriceValueToSet)
            .FilterByPrice();

            booksResultsPage.ResultSet[0].Click();
            new WebDriverWait(driver, TimeSpan.FromSeconds(5)).Until(d => d.Url != _url);

            //Assert
            var actualPrice = bookPage.GetPrice();

            actualPrice.Should().BeGreaterOrEqualTo(minPriceValueToSet);
            actualPrice.Should().BeLessOrEqualTo(maxPriceValueToSet);
        }
예제 #2
0
        public void TooLowMinPriceShouldUpdatePriceToMinimalAvailable()
        {
            //Arrange
            var booksResultsPage   = new FilterPage(driver);
            var minPriceValueToSet = 1;
            var maxPriceValueToSet = 250;

            //Act
            booksResultsPage
            .SetMinimumPrice(minPriceValueToSet)
            .SetMaximumPrice(maxPriceValueToSet)
            .FilterByPrice();

            //Assert
            Console.WriteLine($"Actual minimum price {booksResultsPage.GetMinPrice()}, expected greater than {minPriceValueToSet}");
            var isMinPriceCorrect = booksResultsPage.GetMinPrice() >= minPriceValueToSet;

            Console.WriteLine($"Actual maximum price {booksResultsPage.GetMinPrice()}, expected {maxPriceValueToSet}");
            var isMaxPriceCorrect = booksResultsPage.GetMaxPrice() == maxPriceValueToSet;

            var checksPassed = isMaxPriceCorrect && isMinPriceCorrect;

            checksPassed.Should().BeTrue("because filters should work correctly");
        }
 public static FilterPage SetPrice(this FilterPage page, int?MinPrice, int?MaxPrice)
 {
     page.SetMinimumPrice(MinPrice);
     page.SetMaximumPrice(MaxPrice);
     return(page);
 }