예제 #1
0
        public HomePage IsCartEmpty()
        {
            ShopingCartPage shopingCartPage = new ShopingCartPage();
            TopBar          topBar          = new TopBar();

            topBar.ShoppingCartButtonClick();
            shopingCartPage.GetEmptyCartMessage();
            return(new HomePage());
        }
예제 #2
0
        public void ClearShoppingCart()
        {
            TopBar          navBar      = new TopBar();
            ShopingCartPage shopingCart = navBar.ShoppingCartButtonClick();

            while (!shopingCart.IsEmpty())
            {
                shopingCart.GetProduct().ClickRemoveButton();
            }
        }
예제 #3
0
        public void CheckChangeProductPriceCurrencyInShopingCart(string productName)
        {
            //Act
            cm.AddProductToCart(productName);
            ShopingCartPage shopingCart = cm.GoToShoppingCart();

            cm.ChooseEuro();
            string actualResult   = cm.GetCurrencyFromShopingCart(shopingCart);
            string expectedResult = cm.CurrentCurrencyFromMain;

            //Assert
            Assert.AreEqual(expectedResult, actualResult);
        }
예제 #4
0
        public string AddProductByNameUseSearch(string nameProduck)
        {
            ShopingCartPage shopingCartPage = new ShopingCartPage();
            SearchMethods   search          = new SearchMethods();
            TopBar          topBar          = new TopBar();
            var             searchResult    = search.Search(nameProduck);

            Thread.Sleep(500);
            searchResult.AddAppropriateItemToCart(nameProduck);
            Thread.Sleep(500);
            topBar.ShoppingCartButtonClick();
            return(shopingCartPage.GetProduct().GetProductName());
        }
예제 #5
0
        public string AddProductByName(string nameProduck)
        {
            ShopingCartPage shopingCartPage = new ShopingCartPage();
            HomePage        homePage        = new HomePage();
            TopBar          topBar          = new TopBar();
            var             product         = homePage.FindAppropriateProduct(nameProduck);

            Thread.Sleep(500);
            product.ClickCartButton();
            Thread.Sleep(500);
            topBar.ShoppingCartButtonClick();
            return(shopingCartPage.GetProduct().GetProductName());
        }
예제 #6
0
        public string GetCurrencyFromShopingCart(ShopingCartPage shopingCartPage)
        {
            ShopingCartTableItem product = shopingCartPage.GetProduct();
            string productPrice          = product.GetProductPrice();
            string cleanProductPrice     = productPrice.Trim();

            if (CurrentCurrencyFromMain == "€")
            {
                return(cleanProductPrice[cleanProductPrice.Length - 1].ToString());
            }
            else
            {
                return(cleanProductPrice[0].ToString());
            }
        }
        public void GoodsShouldBeAddedToShoppingCart()
        {
            //Arrange

            //Actwd
            oshopMainPage.AddFoodToCard("Tomato").AddMoreItems(2);
            oShopNavigationBar.ShoppingCartLink.Click();
            var shoppingCartTable = new ShopingCartPage().shoppingCartTable;

            var headers = shoppingCartTable.GetHeaderNames();
            var cells   = shoppingCartTable.GetRowsWithData();

            //Assert
            Assert.IsTrue(true);
        }
예제 #8
0
        public string AddProductByNameUseSearchWithLofinedUser(string nameProduck, string email, string password)
        {
            LoginPageMethods login = new LoginPageMethods();

            login.LogIntoAccount(email, password);
            ShopingCartPage shopingCartPage = new ShopingCartPage();
            SearchMethods   search          = new SearchMethods();
            TopBar          topBar          = new TopBar();
            var             product         = search.Search(nameProduck);

            product.AddAppropriateItemToCart(nameProduck);
            //Thread.Sleep(1000);
            topBar.ShoppingCartButtonClick();
            return(shopingCartPage.GetProduct().GetProductName());
        }
예제 #9
0
        public void RemoveFromCart(string nameProduck)
        {
            ShopingCartPage shopingCartPage = new ShopingCartPage();
            HomePage        homePage        = new HomePage();
            TopBar          topBar          = new TopBar();
            var             product         = homePage.FindAppropriateProduct(nameProduck);

            Thread.Sleep(500);
            product.ClickCartButton();
            Thread.Sleep(500);
            topBar.ShoppingCartButtonClick();
            shopingCartPage.GetProduct().GetProductName();
            shopingCartPage.GetProduct().ClickRemoveButton();
            shopingCartPage.GetEmptyCartMessage();
        }
예제 #10
0
        public void SortingOfProductsIsEnabledByPrice()
        {
            loginPage   = new LoginPage(driver);
            homePage    = new HomePage(driver);
            shopingCart = new ShopingCartPage(driver);

            //Navigate and login
            driver.Navigate().GoToUrl(Constants.baseUrl);
            loginPage.PerformLogin(Constants.standardUser, Constants.password);

            var select = new SelectElement(homePage.SortDropdownSelect);

            select.SelectByValue("lohi");  //Price (low to high)

            homePage.MenuButton.Click();
            homePage.LogOutButton.Click();
            Assert.IsTrue(loginPage.UserNameTextBox.Displayed);
            Assert.IsTrue(loginPage.PasswordTextBox.Displayed);
            Assert.IsTrue(loginPage.LoginButton.Displayed);
        }
예제 #11
0
        public void StandardUserIsAbleToCreateOrder()
        {
            loginPage   = new LoginPage(driver);
            homePage    = new HomePage(driver);
            shopingCart = new ShopingCartPage(driver);

            //Navigate and login
            driver.Navigate().GoToUrl(Constants.baseUrl);
            loginPage.PerformLogin(Constants.standardUser, Constants.password);
            //reset app state
            homePage.MenuButton.Click();
            homePage.ResetAppStateButton.Click();
            homePage.CloseMenuButton.Click();
            //add items to shopping cart
            homePage.AddToCartBackPack.Click();
            homePage.AddToCartBikeLight.Click();
            homePage.AddToCartBoltTShirt.Click();
            homePage.AddToCartFleeceJacket.Click();
            Assert.AreEqual("4", homePage.ShoppingCartBadgeIcon.Text);

            homePage.ShoppingCartButton.Click();
            shopingCart.RemoveFromCartBackPack.Click();
            Assert.AreEqual("3", homePage.ShoppingCartBadgeIcon.Text);

            shopingCart.CheckoutOrderButton.Click();
            shopingCart.FirstNameTexBox.SendKeys("Nemanja");
            shopingCart.LastNameTexBox.SendKeys("Radic");
            shopingCart.PostalCodeTexBox.SendKeys("23000");

            shopingCart.ContinueCheckoutButton.Click();
            shopingCart.FinishOrdertButton.Click();
            Assert.AreEqual("THANK YOU FOR YOUR ORDER", shopingCart.ThankYouMessage.Text);
            Assert.IsTrue(shopingCart.BackToHomeButton.Displayed);

            homePage.MenuButton.Click();
            homePage.LogOutButton.Click();
            Assert.IsTrue(loginPage.UserNameTextBox.Displayed);
            Assert.IsTrue(loginPage.PasswordTextBox.Displayed);
            Assert.IsTrue(loginPage.LoginButton.Displayed);
        }
예제 #12
0
        /* How to create 'E-Quote' or 'OrQuote'
         * Call CompleteEQuoteGeneration() with 5 arguments -
         * i) quoteType(equote/OrQuote)     <-- Note pass only "equote" for E-Quote and "OrQuote" for OR-Quote
         * ii) environment - "Preview" or "Prod"
         * iii) profileId - In String
         * iv) name - any name      <- will be used in equote
         * v) email - any email     <- will be used in equote
         */

        public bool CompleteQuoteGeneration(
            string profileId,
            string name,
            string email,
            RunEnvironment environment,
            Workflow workflow,
            PoXmlFormat format,
            string deploymentMode,
            string orderIdBase,
            string poTargetUrl,
            string configFilterVal,
            string testEnvironment,
            List <QuoteDetail> listOfQuoteDetail,
            out string poNumber,
            out List <QuoteDetail> quoteDetail)
        {
            string responseCode = "0";
            var    parentWindow = webDriver.CurrentWindowHandle;

            B2BHomePage.SelectEnvironment(environment.ToString());

            // Quote Details are not available - Quote creation steps will be Executed else directly executes PO submission
            if (listOfQuoteDetail == null || !listOfQuoteDetail.Any() ||
                string.IsNullOrEmpty(listOfQuoteDetail.FirstOrDefault().SupplierPartId))
            {
                B2BHomePage.ClickQaTools3();
                webDriver.WaitForPageLoad(TimeSpan.FromSeconds(40));
                webDriver.SwitchTo().Window(webDriver.WindowHandles.Last());
                var QaToolsWindow = webDriver.CurrentWindowHandle;
                B2BQaToolsPage.SelectLocationAndEnvironment(environment.ToString(), testEnvironment);
                B2BQaToolsPage.ClickPunchoutCreate();
                B2BQaToolsPage.ClickCxml();
                B2BQaToolsPage.ClickCxmlMainCreate();
                B2BQaToolsPage.IdentityForProfileCorrelator(profileId);
                B2BQaToolsPage.IdentityForUserId(profileId);
                B2BQaToolsPage.ClickApplyParameter();
                B2BQaToolsPage.ClickSubmitMessage();
                responseCode = B2BQaToolsPage.GetSubmissionResult();
                Console.WriteLine("Response Code is :- " + responseCode);

                if (responseCode.Contains("200"))
                {
                    string temp = B2BQaToolsPage.GetStoreLinkText();
                    Console.WriteLine("Link value is " + temp);
                    B2BQaToolsPage.ClickStoreLink();
                    webDriver.WaitForPageLoad(TimeSpan.FromSeconds(40));
                    webDriver.Close();
                    string newwindow = webDriver.WindowHandles.LastOrDefault();
                    webDriver.SwitchTo().Window(newwindow);
                    //webDriver.SwitchTo().Window(webDriver.WindowHandles.Last());
                    var premierWindow = webDriver.CurrentWindowHandle;

                    webDriver.Manage().Window.Maximize();
                    B2BPremierDashboardPage.WaitForTitle();
                    B2BPremierDashboardPage.OpenShop();
                    B2BPremierDashboardPage.ClickStandardConfiguration();
                    if (workflow == Workflow.Asn)
                    {
                        B2BStandardConfigurationPage.SelectSpecificConfiguration(configFilterVal, listOfQuoteDetail.FirstOrDefault().ItemDescription);
                    }
                    else
                    {
                        B2BStandardConfigurationPage.SelectFirstConfiguration();
                    }
                    webDriver.WaitForPageLoad(new TimeSpan(0, 0, 20));
                    B2BStandardConfigurationPage.ClickAddSelectedToCartButton();
                    Console.WriteLine("Shoping Cart Page Title is :- " + ShopingCartPage.ReturnShopingCartTitle());
                    ShopingCartPage.ClickSaveQuote(listOfQuoteDetail.FirstOrDefault().QuoteType);

                    // Starting EQuote Generation
                    if (listOfQuoteDetail.FirstOrDefault().QuoteType == QuoteType.EQuote)
                    {
                        Console.WriteLine("EQuote Page Details Page Title is :-" + eQuoteDetailsPage.ReturnTitle());
                        eQuoteDetailsPage.EquoteNameSetting(name);
                        eQuoteDetailsPage.SavedBySetting(email);
                        eQuoteDetailsPage.ClickContinueButton();
                        webDriver.WaitForPageLoad(TimeSpan.FromSeconds(40));
                        eQuoteSummaryPage.ClickContinueButton();
                        webDriver.WaitForPageLoad(TimeSpan.FromSeconds(40));
                        finalEquoteSummaryPage.ClickSaveButton();
                        webDriver.WaitForPageLoad(TimeSpan.FromSeconds(40));
                        listOfQuoteDetail.FirstOrDefault().SupplierPartId = "EQ:" + eQuoteGenerationPage.ReturnNumber();
                        listOfQuoteDetail.FirstOrDefault().Price          = eQuoteGenerationPage.ReturnPrice().Replace("$", "");
                        Console.WriteLine("Your Equote Number is :- " + listOfQuoteDetail.FirstOrDefault().SupplierPartId);
                        Console.WriteLine("Price is :- " + listOfQuoteDetail.FirstOrDefault().Price);
                        webDriver.SwitchTo().Window(parentWindow);
                    }

                    // Starting OrQuote Generation
                    else if (listOfQuoteDetail.FirstOrDefault().QuoteType == QuoteType.OrQuote)
                    {
                        B2BSecureCheckoutPage.EnterContactAndBillingInfo();
                        webDriver.WaitForPageLoad(TimeSpan.FromSeconds(40));
                        listOfQuoteDetail.FirstOrDefault().Price = B2BTermsOfSalesPage.FindPrice().Replace("$", "");
                        B2BTermsOfSalesPage.ClickSubmitButton();
                        webDriver.WaitForPageLoad(TimeSpan.FromSeconds(40));
                        Console.WriteLine("Price is :- " + listOfQuoteDetail.FirstOrDefault().Price);
                        listOfQuoteDetail.FirstOrDefault().SupplierPartId = B2BOrQuoteGenerationPage.FindOrQuote();
                        webDriver.SwitchTo().Window(parentWindow);
                    }

                    else
                    {
                        Console.WriteLine("Quote Type is not Specified");
                        poNumber    = string.Empty;
                        quoteDetail = listOfQuoteDetail;
                        return(false);
                    }
                }
            }

            // Generates PO Template
            var    orderId = orderIdBase + DateTime.Today.ToString("yyMMdd") + DateTime.Now.ToString("HHmmss");
            string poXml;

            if (workflow == Workflow.Eudc)
            {
                poXml = PoXmlGenerator.GeneratePoCxmlCblForEudc(
                    format,
                    profileId,
                    deploymentMode,
                    orderId,
                    listOfQuoteDetail.FirstOrDefault().Price,
                    listOfQuoteDetail.FirstOrDefault().SupplierPartId,
                    listOfQuoteDetail.FirstOrDefault().CrtId);
            }
            else
            {
                poXml = PoXmlGenerator.GeneratePoCblForAsn(format, orderId, profileId, listOfQuoteDetail);
            }

            // Submits PO
            B2BHomePage.ClickQaTools3();
            if (!poOperations.SubmitXmlForPoCreation(poXml, environment.ToString(), poTargetUrl, testEnvironment, out poNumber))
            {
                quoteDetail = listOfQuoteDetail;
                return(false);
            }

            // verifies all validation after submiting PO
            webDriver.Close();
            webDriver.SwitchTo().Window(parentWindow);
            webDriver.WaitForPageLoad(TimeSpan.FromSeconds(40));
            quoteDetail = listOfQuoteDetail;
            return(true);
        }