public static void VerifyMakeOrderIsClickable(CheckoutPage page)
        {
            Action <IWebElement> act = (elem) => { };

            WaitingExtensions.DoUntilElementIsDisplayed(act, page.DeliveryBlock, true);
            page.MakeOrderButton.Displayed.Should().BeTrue();
        }
Пример #2
0
        private void CheckCurrentOrDefaultAddress(CheckoutPage page)
        {
            if ((page?.DeliveryAddresses?.items?.Count ?? 0) == 0)
            {
                return;
            }

            var currentAddressId = shoppingCart.GetCurrentCartShippingAddress()?.Id ?? 0;

            if (currentAddressId != 0 && page.DeliveryAddresses.items.Any(a => a.Id == currentAddressId))
            {
                page.DeliveryAddresses.CheckAddress(currentAddressId);
            }
            else
            {
                var defaultAddressId = kenticoUsers.GetCurrentCustomer().DefaultShippingAddressId;
                if (defaultAddressId == 0)
                {
                    defaultAddressId = page.DeliveryAddresses.GetDefaultAddressId();
                }

                shoppingCart.SetShoppingCartAddress(defaultAddressId);
                page.DeliveryAddresses.CheckAddress(defaultAddressId);
            }
        }
        public void Purchase_Casio_GShock()
        {
            string itemUrl = "Casio-G-Shock-Standard-GA-100-1A2-Mens-Watch-Brand-New-/161209550414?pt=LH_DefaultDomain_15&hash=item2588d6864e";
            string itemPrice = "AU $168.00";
            ClientInfo currentClientInfo = new ClientInfo()
            {
                FirstName = "Anton",
                LastName = "Angelov",
                Country = "Bulgaria",
                Address1 = "33 Alexander Malinov Blvd.",
                City = "Sofia",
                Zip = "1729",
                Phone = "0035964644885",
                Email = "*****@*****.**"
            };
            ItemPage itemPage = new ItemPage();
            CheckoutPage checkoutPage = new CheckoutPage();
            ShippingAddressPage shippingAddressPage = new ShippingAddressPage();
            SignInPage signInPage = new SignInPage();

            itemPage.Navigate(itemUrl);
            itemPage.Validate().Price(itemPrice);
            itemPage.ClickBuyNowButton();
            signInPage.ClickContinueAsGuestButton();
            shippingAddressPage.FillShippingInfo(currentClientInfo);
            shippingAddressPage.Validate().Subtotal(itemPrice);
            shippingAddressPage.ClickContinueButton();
            checkoutPage.Validate().Subtotal(itemPrice);
        }
Пример #4
0
        //[TestMethod]
        public void CheckPriceTagOnCheckoutPage()
        {
            string        expectedPriceTag  = "Online price";
            IndexHomePage indexPage         = new IndexHomePage(Driver, Url);
            string        firstManufacturer = indexPage.TopHeader.GetManufacturerMenuOptionsText().ElementAtOrDefault(1);

            indexPage.TopHeader.SetManufacturerDropdown(firstManufacturer);
            ProductListPage productsListPage = indexPage.TopHeader.ClickOnSubmit();
            var             firstProductItem = productsListPage.GetResultItems().FirstOrDefault();

            firstProductItem.ClickOnAddToCart();
            productsListPage.WaitForAppBusy();
            indexPage = productsListPage.TopHeader.ClickOnLogo();
            CartPage cartPage = indexPage.UtilityMenu.ClickOnCart();

            cartPage.WaitUntilItemsAreDisplayed();
            SignInRegisterPage signInPage   = cartPage.ClickOnProceedToCheckoutButtonAnonymous();
            CheckoutPage       checkoutPage = signInPage.ClickOnCheckoutAsGuest();

            checkoutPage.WaitUntilItemsAreDisplayed();
            var productItems = checkoutPage.GetProductItems();

            foreach (var product in productItems)
            {
                System.Console.WriteLine(product.GetItemDetail(ProductItemDetailsEnum.PriceTag));
                Assert.AreEqual(expectedPriceTag, product.GetItemDetail(ProductItemDetailsEnum.PriceTag));
            }
        }
        public void Purchase_WhiteOpticalKeyboard()
        {
            string itemUrl = "Wireless-White-2-4G-Optical-Keyboard-and-Mouse-USB-Receiver-Kit-For-PC-/360649772948?pt=LH_DefaultDomain_2&hash=item53f866cf94";
            string itemPrice = "C $20.86";
            ClientInfo currentClientInfo = new ClientInfo()
            {
                FirstName = "Anton",
                LastName = "Angelov",
                Country = "Bulgaria",
                Address1 = "33 Alexander Malinov Blvd.",
                City = "Stara Zagora",
                Zip = "6000",
                Phone = "0035964644885",
                Email = "*****@*****.**"
            };
            ItemPage itemPage = new ItemPage();
            CheckoutPage checkoutPage = new CheckoutPage();
            ShippingAddressPage shippingAddressPage = new ShippingAddressPage();
            SignInPage signInPage = new SignInPage();

            itemPage.Navigate(itemUrl);
            itemPage.Validate().Price(itemPrice);
            itemPage.ClickBuyNowButton();
            signInPage.ClickContinueAsGuestButton();
            shippingAddressPage.FillShippingInfo(currentClientInfo);
            shippingAddressPage.Validate().Subtotal(itemPrice);
            shippingAddressPage.ClickContinueButton();
            checkoutPage.Validate().Subtotal(itemPrice);
        }
Пример #6
0
        public static void InputPaymentMethod(String creditCardType, String creditCardNumber, String expMonth, String expYear, String cvv)
        {
            CheckoutPage CheckoutPage = new CheckoutPage();

            WaitUntilElementVisible(By.XPath("//p[contains(text(),'How would you like to pay?')]"), 15);

            SelectElement CreditCardType     = new SelectElement(CheckoutPage.CreditCardType);
            SelectElement CreditCardExpMonth = new SelectElement(CheckoutPage.CreditCardExpMonth);
            SelectElement CreditCardExpYear  = new SelectElement(CheckoutPage.CreditCardExpYear);

            CreditCardType.SelectByText(creditCardType);
            CheckoutPage.CreditCardNumber.SendKeys(creditCardNumber);
            CreditCardExpMonth.SelectByValue(expMonth);
            CreditCardExpYear.SelectByValue(expYear);

            try
            {
                CheckoutPage.CreditCardCVV.SendKeys(cvv);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            CheckoutPage.PaymentMethodContinueButton.Click();
        }
Пример #7
0
        public virtual CheckoutViewModel CreateCheckoutViewModel(ICart cart, CheckoutPage currentPage, IPaymentMethod paymentOption = null)
        {
            if (cart == null)
            {
                return(CreateEmptyCheckoutViewModel(currentPage));
            }

            var currentShippingAddressId = cart.GetFirstShipment()?.ShippingAddress?.Id;
            var currentBillingAdressId   = cart.GetFirstForm().Payments.FirstOrDefault()?.BillingAddress?.Id;

            var shipments = _shipmentViewModelFactory.CreateShipmentsViewModel(cart).ToList();
            var useShippingAddressForBilling = shipments.Count == 1;

            var viewModel = new CheckoutViewModel(currentPage)
            {
                Shipments      = shipments,
                BillingAddress = CreateBillingAddressModel(currentBillingAdressId),
                UseShippingingAddressForBilling = useShippingAddressForBilling,
                AppliedCouponCodes = cart.GetFirstForm().CouponCodes.Distinct(),
                AvailableAddresses = new List <AddressModel>(),
                ReferrerUrl        = GetReferrerUrl(),
                Currency           = cart.Currency,
                CurrentCustomer    = _customerService.GetCurrentContactViewModel(),
                IsOnHoldBudget     = CheckForOnHoldBudgets(),
                Payment            = paymentOption,
                PaymentPlanSetting = new PaymentPlanSetting()
                {
                    CycleMode = Mediachase.Commerce.Orders.PaymentPlanCycle.None,
                    IsActive  = false,
                    StartDate = DateTime.UtcNow
                },
            };

            UpdatePayments(viewModel, cart);

            var availableAddresses = GetAvailableAddresses();

            if (availableAddresses.Any())
            {
                //viewModel.AvailableAddresses.Add(new AddressModel { Name = _localizationService.GetString("/Checkout/MultiShipment/SelectAddress"), AddressId = "" });

                foreach (var address in availableAddresses)
                {
                    viewModel.AvailableAddresses.Add(address);
                }
            }
            else
            {
                viewModel.AvailableAddresses.Add(new AddressModel {
                    Name = _localizationService.GetString("/Checkout/MultiShipment/NoAddressFound"), AddressId = ""
                });
            }

            SetDefaultShipmentAddress(viewModel, currentShippingAddressId);

            _addressBookService.LoadAddress(viewModel.BillingAddress);
            PopulateCountryAndRegions(viewModel);

            return(viewModel);
        }
Пример #8
0
        public void Purchase_Casio_GShock()
        {
            string     itemUrl           = "Casio-G-Shock-Standard-GA-100-1A2-Mens-Watch-Brand-New-/161209550414?pt=LH_DefaultDomain_15&hash=item2588d6864e";
            string     itemPrice         = "AU $147.00";
            ClientInfo currentClientInfo = new ClientInfo()
            {
                FirstName = "Anton",
                LastName  = "Angelov",
                Country   = "Bulgaria",
                Address1  = "33 Alexander Malinov Blvd.",
                City      = "Sofia",
                Zip       = "1729",
                Phone     = "0035964644885",
                Email     = "*****@*****.**"
            };

            ItemPage            itemPage            = new ItemPage();
            CheckoutPage        checkouPage         = new CheckoutPage();
            ShippingAddressPage shippingAddressPage = new ShippingAddressPage();
            SignInPage          signInPage          = new SignInPage();

            itemPage.Navigate(itemUrl);
            itemPage.Validate().Price(itemPrice);
            itemPage.ClickBuyNowButton();
            signInPage.ClickContinueAsGuestButton();
            shippingAddressPage.FillShippingInfo(currentClientInfo);
            shippingAddressPage.Validate().Subtotal(itemPrice);
            shippingAddressPage.ClickContinueButton();
            checkouPage.Validate().Subtotal(itemPrice);
        }
Пример #9
0
        public void Purchase_WhiteOpticalKeyboard()
        {
            string     itemUrl           = "Wireless-White-2-4G-Optical-Keyboard-and-Mouse-USB-Receiver-Kit-For-PC-/360649772948?pt=LH_DefaultDomain_2&hash=item53f866cf94";
            string     itemPrice         = "C $20.86";
            ClientInfo currentClientInfo = new ClientInfo()
            {
                FirstName = "Anton",
                LastName  = "Angelov",
                Country   = "Bulgaria",
                Address1  = "33 Alexander Malinov Blvd.",
                City      = "Stara Zagora",
                Zip       = "6000",
                Phone     = "0035964644885",
                Email     = "*****@*****.**"
            };
            ItemPage            itemPage            = new ItemPage();
            CheckoutPage        checkoutPage        = new CheckoutPage();
            ShippingAddressPage shippingAddressPage = new ShippingAddressPage();
            SignInPage          signInPage          = new SignInPage();

            itemPage.Navigate(itemUrl);
            itemPage.Validate().Price(itemPrice);
            itemPage.ClickBuyNowButton();
            signInPage.ClickContinueAsGuestButton();
            shippingAddressPage.FillShippingInfo(currentClientInfo);
            shippingAddressPage.Validate().Subtotal(itemPrice);
            shippingAddressPage.ClickContinueButton();
            checkoutPage.Validate().Subtotal(itemPrice);
        }
 public OldShoppingCart(ItemPage itemPage, SignInPage signInPage, CheckoutPage checkoutPage, ShippingAddressPage shippingAddressPage)
 {
     _itemPage            = itemPage;
     _signInPage          = signInPage;
     _checkoutPage        = checkoutPage;
     _shippingAddressPage = shippingAddressPage;
 }
Пример #11
0
        public virtual CheckoutViewModel CreateCheckoutViewModel(ICart cart, CheckoutPage currentPage, IPaymentMethod paymentMethod = null)
        {
            if (cart == null)
            {
                return(CreateEmptyCheckoutViewModel(currentPage));
            }

            var currentShippingAddressId = cart.GetFirstShipment()?.ShippingAddress?.Id;
            var currentBillingAdressId   = cart.GetFirstForm().Payments.FirstOrDefault()?.BillingAddress?.Id;

            var shipments = _shipmentViewModelFactory.CreateShipmentsViewModel(cart).ToList();
            var useBillingAddressForShipment = shipments.Count == 1 && currentBillingAdressId == currentShippingAddressId && _addressBookService.UseBillingAddressForShipment();

            var payments = _paymentMethodViewModelFactory.CreatePaymentMethodSelectionViewModel(paymentMethod);

            paymentMethod = payments.SelectedPaymentMethod.PaymentMethod;

            var viewModel = new CheckoutViewModel
            {
                CurrentPage    = currentPage,
                Shipments      = shipments,
                BillingAddress = CreateBillingAddressModel(),
                UseBillingAddressForShipment = useBillingAddressForShipment,
                StartPage          = _contentLoader.Get <StartPage>(ContentReference.StartPage),
                AppliedCouponCodes = cart.GetFirstForm().CouponCodes.Distinct(),
                AvailableAddresses = new List <AddressModel>(),
                ReferrerUrl        = GetReferrerUrl(),
                Payment            = paymentMethod,
            };

            var availableAddresses = GetAvailableAddresses();

            if (availableAddresses.Any())
            {
                viewModel.AvailableAddresses.Add(new AddressModel {
                    Name = _localizationService.GetString("/Checkout/MultiShipment/SelectAddress")
                });

                foreach (var address in availableAddresses)
                {
                    viewModel.AvailableAddresses.Add(address);
                }
            }
            else
            {
                viewModel.AvailableAddresses.Add(new AddressModel {
                    Name = _localizationService.GetString("/Checkout/MultiShipment/NoAddressFound")
                });
            }

            SetDefaultShipmentAddress(viewModel, currentShippingAddressId);

            _addressBookService.LoadAddress(viewModel.BillingAddress);
            PopulateCountryAndRegions(viewModel);

            viewModel.KlarnaCheckoutPaymentMethodSelected = viewModel.Payment?.SystemKeyword == Constants.KlarnaCheckoutSystemKeyword;

            return(viewModel);
        }
        public void WhenICompleteCheckout()
        {
            _driver.Url = test_url + "/index.php?controller=order&step=1";
            CheckoutPage checkout = new CheckoutPage(_driver);

            checkout.CompleteCheckoutSimple(true);
            this.lastOrderRef = checkout.GetOrderRef();
        }
        public void CreateCheckoutViewModelWithPayment_ShouldReturnViewModelWithCorrectPayment()
        {
            var checkoutPage = new CheckoutPage();
            var viewModel    = _subject.CreateCheckoutViewModel(_cart, checkoutPage, _creditPayment);

            Assert.Equal(viewModel.PaymentMethodViewModels.Count(), 2);
            Assert.Equal(viewModel.Payment.SystemKeyword, creditPaymentName);
        }
Пример #14
0
        public void ThenTheFinalTotalShouldAddUp()
        {
            CheckoutPage checkoutPage     = new CheckoutPage(Driver);
            var          total            = checkoutPage.GetTotal();
            var          totalElementText = Driver.FindElement(By.XPath("/html/body/div/div[2]/div/div[3]/div/div[2]/table/tfoot/tr[1]/td[3]")).Text.Split('$');

            Assert.AreEqual(total, Convert.ToDouble(totalElementText[1]));
        }
        public void CreateCheckoutViewModel_WithNonePreferredAddress_ShouldSetDefaultBillingAddressToGuid()
        {
            var checkoutPage = new CheckoutPage();

            _addressBookServiceMock.Setup(x => x.GetPreferredBillingAddress()).Returns((CustomerAddress)null);
            var viewModel = _subject.CreateCheckoutViewModel(_cart, checkoutPage);

            Assert.IsType(typeof(Guid), Guid.Parse(viewModel.BillingAddress.Name));
        }
Пример #16
0
        private BillingDetailItem _billinInfo; //just one for testing

        public PurchaseWorkflow(IWebDriver driver)
        {
            _driver       = driver;
            _shopPage     = new ShopPage(driver);
            _cartPage     = new CartPage(driver);
            _checkoutPage = new CheckoutPage(driver);

            CreateBillingInfo();
        }
Пример #17
0
 public DemoStoreTest(EnvironmentFixture fixture)
 {
     _fixture            = fixture;
     _initialPage        = new InitialPage(_fixture.Driver);
     _resultSearchPage   = new ResultSearchPage(_fixture.Driver);
     _viewCartPage       = new ViewCartPage(_fixture.Driver);
     _checkoutPage       = new CheckoutPage(_fixture.Driver);
     _detailsProductPage = new DetailsProductPage(_fixture.Driver);
 }
Пример #18
0
        public void POMTestCase1()
        {
            log.Info("Test execution starts!");

            // variable definitions (data-driven)
            string userName        = Convert.ToString(this.TestContext.DataRow["userName"]);
            string passWord        = Convert.ToString(this.TestContext.DataRow["passWord"]);
            string searchKeyWord   = Convert.ToString(this.TestContext.DataRow["searchKeyWord"]);
            string firstName       = Convert.ToString(this.TestContext.DataRow["firstName"]);
            string lastName        = Convert.ToString(this.TestContext.DataRow["lastName"]);
            string emailAddress    = Convert.ToString(this.TestContext.DataRow["emailAddress"]);
            string city            = Convert.ToString(this.TestContext.DataRow["city"]);
            string address         = Convert.ToString(this.TestContext.DataRow["address"]);
            string postalCode      = Convert.ToString(this.TestContext.DataRow["postalCode"]);
            string cellPhoneNumber = Convert.ToString(this.TestContext.DataRow["cellPhoneNumber"]);
            string poNumber        = Convert.ToString(this.TestContext.DataRow["poNumber"]);

            // navigate to the website
            HomePage homePage = new HomePage(driver);

            homePage.NavigateToHomePage();

            // login
            LoginPage loginPage = homePage.GoToLoginPage();

            loginPage.TypeUserName(userName);             /* also has an assertion */
            loginPage.TypePassword(passWord);             /* also has an assertion */
            loginPage.ConfirmLoginAndGoBackToHomePage();

            // search for an item
            SearchResultPage searchResultPage = homePage.Search(searchKeyWord);

            // put the first searched item into cart
            searchResultPage.AddCertainItemToCart(0);

            // go to the shopping cart and accept the term of service
            ShoppingCartPage shoppingCartPage = searchResultPage.GoToShoppingCartPage();

            shoppingCartPage.AcceptTermOfService();
            shoppingCartPage.AssertSubTotalPrice();             /*confirm the subtotal output*/

            // go to the checkout page and fill the info
            CheckoutPage checkoutPage = shoppingCartPage.GoToCheckoutPage();

            checkoutPage.FillInfo(firstName, lastName, emailAddress, city, address, postalCode, cellPhoneNumber, poNumber);

            // go to thank you page
            ThankYouPage thankYouPage = checkoutPage.GoToThankYouPage();

            // finish purchase and go back to home page
            HomePage homePageBack = thankYouPage.FinishPurchaseAndGoToHomePage();

            // logout
            homePageBack.Logout();
            log.Info("Test execution finishes!");
        }
Пример #19
0
        public void CheckoutTest()
        {
            CheckoutPage checkoutPage = CheckoutPage.visit(driver);

            checkoutPage.EnterInformation();

            CheckoutOverviewPage checkoutOverviewPage = new CheckoutOverviewPage(driver);

            Assert.That(checkoutOverviewPage.onPage());
        }
Пример #20
0
        public void ThenOnTheCheckoutPageBookingSummaryDisplaysCorrectInformation()
        {
            CheckoutPage checkout = new CheckoutPage(driver);

            DateTime departDateTimeCheckout  = BasicHelper.ConvertToDateTime(checkout.DepartArrivalCheckout[0].Text);
            DateTime arrivalDateTimeCheckout = BasicHelper.ConvertToDateTime(checkout.DepartArrivalCheckout[1].Text);

            Assert.AreEqual(ScenarioContext.Current[DepartSearchPage], departDateTimeCheckout, "Departure Date / Time are different on Search and Checkout page");
            Assert.AreEqual(ScenarioContext.Current[ArrivalSearchPage], arrivalDateTimeCheckout, "Arrival Date / Time are different on Search and Checkout page");
        }
Пример #21
0
        public ShoppingCart Create()
        {
            var itemPage            = new ItemPage(_driver);
            var signInPage          = new SignInPage(_driver);
            var checkoutPage        = new CheckoutPage(_driver);
            var shippingAddressPage = new ShippingAddressPage(_driver);
            var purchaseFacade      = new ShoppingCart(itemPage, signInPage, checkoutPage, shippingAddressPage);

            return(purchaseFacade);
        }
Пример #22
0
        public void Setup()
        {
            new DriverManager().SetUpDriver(new ChromeConfig(), VersionResolveStrategy.MatchingBrowser);
            ChromeOptions options = new ChromeOptions();

            options.AddArguments("--headless");
            _driver       = new ChromeDriver(options);
            _checkoutPage = new CheckoutPage(_driver);
            _checkoutPage.Navigate();
        }
Пример #23
0
        public static CheckoutPage InputReceiverData(CheckoutPage page, string name, string phone, string email)
        {
            page.NameAndSurname.SetValue(name);
            page.Phone.SetValue(phone);
            page.Email.SetValue(email);
            Action <IWebElement> act0 = (elem) => { page.ContinueButton.Click(); };

            WaitingExtensions.DoUntilElementIsDisplayed(act0, page.MakeOrderButton, true);
            return(page);
        }
Пример #24
0
 public void PurchaseItem(string item, string itemPrice, ClientInfo clientInfo)
 {
     ItemPage.Navigate(item);
     ItemPage.Validate().Price(itemPrice);
     ItemPage.ClickBuyNowButton();
     SignInPage.ClickContinueAsGuestButton();
     ShippingAddressPage.FillShippingInfo(clientInfo);
     ShippingAddressPage.Validate().Subtotal(itemPrice);
     ShippingAddressPage.ClickContinueButton();
     CheckoutPage.Validate().Subtotal(itemPrice);
 }
Пример #25
0
        public void WhenCheckThisOnCartAsWellAsTotalPrice(string p0)
        {
            //string expected_title = "Conteúdo do carrinho";
            string expected_title = "Cart contents";

            cart_page.load_complete();
            Assert.That(cart_page.getPageTitle() == expected_title);
            Assert.That(cart_page.getTotal() == price_product);
            cart_page.goTotheCheckout();
            checkout_page = new CheckoutPage(driver);
        }
Пример #26
0
        public void Setup()
        {
            Driver = new Driver(Driver.BrowserType.Chrome);
            Driver.WebDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            Driver.WebDriver.Manage().Window.Maximize();

            BuyPage      = new BuyPage(Driver);
            CartPage     = new CartPage(Driver);
            CheckoutPage = new CheckoutPage(Driver);
            Header       = new Header(Driver);
        }
Пример #27
0
 private CheckoutViewModel CreateEmptyCheckoutViewModel(CheckoutPage currentPage)
 {
     return(new CheckoutViewModel(currentPage)
     {
         Shipments = new List <ShipmentViewModel>(),
         AppliedCouponCodes = new List <string>(),
         AvailableAddresses = new List <AddressModel>(),
         PaymentMethodViewModels = Enumerable.Empty <PaymentMethodViewModel>(),
         UseShippingingAddressForBilling = true
     });
 }
        public CheckoutPageViewModel(CheckoutPage view, TicketRepository repository, Showtime showtime,
                                     List <AuditoriumSeat> seats)
        {
            this.repository = repository;
            this.showtime   = showtime;
            this.seats      = seats;
            this.view       = view;

            Total = showtime.Price * seats.Count;

            ArrowAnimatedBrush = new SolidColorBrush();
        }
Пример #29
0
 private CheckoutViewModel CreateEmptyCheckoutViewModel(CheckoutPage currentPage)
 {
     return(new CheckoutViewModel
     {
         CurrentPage = currentPage,
         Shipments = new List <ShipmentViewModel>(),
         AppliedCouponCodes = new List <string>(),
         StartPage = _contentLoader.Get <StartPage>(ContentReference.StartPage),
         AvailableAddresses = new List <AddressModel>(),
         UseBillingAddressForShipment = true
     });
 }
Пример #30
0
        public virtual CheckoutViewModel CreateCheckoutViewModel(ICart cart, CheckoutPage currentPage, IPaymentMethodViewModel <PaymentMethodBase> paymentViewModel = null)
        {
            if (cart == null)
            {
                return(CreateEmptyCheckoutViewModel(currentPage));
            }

            var shipments = _shipmentViewModelFactory.CreateShipmentsViewModel(cart).ToList();

            var viewModel = new CheckoutViewModel
            {
                CurrentPage    = currentPage,
                Shipments      = shipments,
                BillingAddress = CreateBillingAddressModel(),
                UseBillingAddressForShipment = shipments.Count == 1 && _addressBookService.UseBillingAddressForShipment(),
                StartPage          = _contentLoader.Get <StartPage>(ContentReference.StartPage),
                AppliedCouponCodes = cart.GetFirstForm().CouponCodes.Distinct(),
                AvailableAddresses = new List <AddressModel>(),
                ReferrerUrl        = GetReferrerUrl(),
                Payment            = paymentViewModel,
                CurrentCustomer    = _customerService.GetCurrentContact(),
                IsOnHoldBudget     = CheckForOnHoldBudgets()
            };

            UpdatePayment(viewModel);

            var availableAddresses = GetAvailableAddresses();

            if (availableAddresses.Any())
            {
                viewModel.AvailableAddresses.Add(new AddressModel {
                    Name = _localizationService.GetString("/Checkout/MultiShipment/SelectAddress")
                });

                foreach (var address in availableAddresses)
                {
                    viewModel.AvailableAddresses.Add(address);
                }
            }
            else
            {
                viewModel.AvailableAddresses.Add(new AddressModel {
                    Name = _localizationService.GetString("/Checkout/MultiShipment/NoAddressFound")
                });
            }

            SetDefaultShipmentAddress(viewModel);

            _addressBookService.LoadAddress(viewModel.BillingAddress);
            PopulateCountryAndRegions(viewModel);

            return(viewModel);
        }
Пример #31
0
        public void AddProductsToCartAndDeleteInCrome()
        {
            OnlineStorePage onlineStorePage = new OnlineStorePage();
            ProductPage     productPage     = new ProductPage();
            Product         product         = new Product();
            GeneralPage     generalPage     = new GeneralPage();
            CheckoutPage    checkoutPage    = new CheckoutPage();

            onlineStorePage.Open(driver, wait);
            onlineStorePage.AddProductsToCart(driver, wait, "Most Popular", 3);
            generalPage.ClickCheckout(driver, wait);
            checkoutPage.RemoveAllProducts(driver, wait);
        }
 private CheckoutViewModel CreateEmptyCheckoutViewModel(CheckoutPage currentPage)
 {
     return new CheckoutViewModel
     {
         CurrentPage = currentPage,
         Shipments = new List<ShipmentViewModel>(),
         AppliedCouponCodes = new List<string>(),
         StartPage = _contentLoader.Get<StartPage>(ContentReference.StartPage),
         AvailableAddresses = new List<AddressModel>(),
         PaymentMethodViewModels = Enumerable.Empty<PaymentMethodViewModel<Payment.PaymentMethods.PaymentMethodBase>>(),
         UseBillingAddressForShipment = true
     };
 }