public Task <BooksPage> GetBooksAsync(Pagination pagination, SortOrder sortOrder = null) { if (pagination == null) { throw new ArgumentNullException(nameof(pagination)); } _logger.LogInformation($"Get books page {pagination.PageIndex} (size {pagination.PageSize}) order by {sortOrder?.Field} {sortOrder?.Sort}"); IEnumerable <Book> query = _store.Values; if (sortOrder != null && sortOrder.Sort != SortType.Unsorted) { if (!_sortOrderSelectors.TryGetValue(sortOrder.Field, out Func <Book, object> selector)) { throw new NotSupportedException($"Сортировка по полю '{sortOrder.Field}' не поддерживается"); } query = sortOrder.Sort == SortType.Ascending ? query.OrderBy(selector) : query.OrderByDescending(selector); } var books = query .Skip(pagination.PageSize * pagination.PageIndex) .Take(pagination.PageSize) .ToArray(); var result = new BooksPage { Books = books, Total = _store.Count }; return(Task.FromResult(result)); }
public LoginTestCases() { _driver = new ChromeDriver(); _loginPage = new LoginPage(_driver); _booksPage = new BooksPage(_driver); }
public BooksPage getBooksPage() { if (_booksPage == null) { _booksPage = new BooksPage(_webDriver); } return(_booksPage); }
public void Test1() { //page declarations var loginPageObj = new LoginPage(); var booksPageObj = new BooksPage(); var billingPageObj = new BillingAdressPage(); var shipmentPageObj = new ShipmentPage(); var shoppingCartPageObj = new ShoppingCrartPage(); //navigate to the browser and login loginPageObj.clickOnHyperLink(TestConstants.LoginHyperLink); //validate welcome msg var welcomeMsg = loginPageObj.getPageTtile(); Assert.AreEqual(welcomeMsg, TestConstants.WelcomeMsg); //login details var fullPath = System.IO.Path.GetFullPath(@"..\..\..\"); var path = Path.Combine(fullPath, "LoginExcel.xlsx"); string[,] loginInfo = loginPageObj.ReadTestDataFromExcel(path); var loginDetails = new Login(); for (var row = 1; row < 2; row++) { // login details data object loginDetails = new Login(); { loginDetails.email = loginInfo[row, 0]; loginDetails.password = loginInfo[row, 1]; } } loginPageObj.login(loginDetails.email, loginDetails.password); //validates user name var userNameInUI = loginPageObj.GetUserName(); Assert.AreEqual(userNameInUI, loginDetails.email); //validates shopping cart qty var shoppingCartValue = loginPageObj.GetCartQty(); var replaceQty = shoppingCartValue.Replace("(", ""); var shoppingCartQty = replaceQty.Replace(")", ""); Assert.AreEqual(Convert.ToInt16(shoppingCartQty), 0); //navigates to books category loginPageObj.clickOnHyperLink(TestConstants.Books); //clicks on a book booksPageObj.ClickOnBookItem(); booksPageObj.WaitForReady(); //get the price var price = booksPageObj.GetPrice(); //Enter Qty booksPageObj.EnterQty(TestConstants.qty); //AddtoCart booksPageObj.clickOnButton(TestConstants.AddTocart, TestConstants.Productessential); var msg = booksPageObj.GetNotificationMsg().TrimStart(); Assert.AreEqual(msg, TestConstants.AddedToCartSuccessMessage); //navigates to shopping cart booksPageObj.clickOnHyperLink(TestConstants.shoppingCart); var subTotal = Convert.ToDecimal(shoppingCartPageObj.getSubTotalPrice()); var newQty = price * 2; //validating subtotal and price qty Assert.AreEqual(newQty, subTotal); //agrees terms of service shoppingCartPageObj.agreeTerms(); //perform checkout shoppingCartPageObj.checkOut(TestConstants.Checkout); //set billing values billingPageObj.SetBillingValues(); shipmentPageObj.clickOnButton(TestConstants.Continue, null, TestConstants.billingContinueId); //set shipping values shipmentPageObj.SetShippingValues(); shipmentPageObj.clickOnButton(TestConstants.Continue, null, TestConstants.shippingContinueId); //select nextdayair //validate cod confirmaation message shipmentPageObj.nextDayAir(); shipmentPageObj.clickOnButton(TestConstants.Continue, null, TestConstants.shippingMethodContinueId); shipmentPageObj.clickOnButton(TestConstants.Continue, null, TestConstants.paymentMethodId); var codMsg = shipmentPageObj.getConfirmationMsg(); Assert.AreEqual(codMsg, TestConstants.CodConfirmationMsg); shipmentPageObj.clickOnButton(TestConstants.Continue, null, TestConstants.paymentInfoId); shipmentPageObj.clickOnButton(TestConstants.Confirm); //order success msg var orderMsg = shipmentPageObj.OrderSuccessMsg(); Assert.AreEqual(orderMsg, TestConstants.OrderSuccessMsg); var orderDetails = shipmentPageObj.getOrderNumber(); //print order details Console.WriteLine(orderDetails); }
public static void SetUp() { driver = CustomDriver.GetChromeDriver(); _booksPage = new BooksPage(driver); }