public void ValidateClientPurchaseInfo(ClientPurchaseInfo clientPurchaseInfo) { foreach (IOrderPurchaseStrategy currentStrategy in this.orderpurchaseStrategies) { currentStrategy.ValidateClientPurchaseInfo(clientPurchaseInfo); } }
public void ValidateClientPurchaseInfo(ClientPurchaseInfo clientPurchaseInfo) { if (clientPurchaseInfo.GiftWrapping.Equals(GiftWrappingStyles.None)) { throw new ArgumentException("The gift wrapping style cannot be set to None if the GiftOrderPurchaseStrategy should be executed."); } }
public void ValidateClientPurchaseInfo(ClientPurchaseInfo clientPurchaseInfo) { if (!clientPurchaseInfo.ShippingInfo.Country.Equals("United States")) { throw new ArgumentException("If the NoTaxesOrderPurchaseStrategy is used, the country should be set to United States because otherwise no sales tax is going to be applied."); } }
public void Purchase_SeleniumTestingToolsCookbook() { var itemUrl = "/Selenium-Testing-Cookbook-Gundecha-Unmesh/dp/1849515743"; var itemPrice = "40.49"; var clientPurchaseInfo = new ClientPurchaseInfo( new ClientAddressInfo() { FullName = "John Smith", Country = "United States", Address1 = "950 Avenue of the Americas", State = "New York", City = "New York City", Zip = "10001-2121", Phone = "00164644885569" }) { CouponCode = "99PERDIS" }; var clientLoginInfo = new ClientLoginInfo() { Email = "*****@*****.**", Password = "******" }; Container.RegisterInstance <IPurchasePromotionalCodeStrategy>( new UiPurchasePromotionalCodeStrategy(Container.Resolve <PlaceOrderPage>(), 40.49)); var purchaseContext = Container.Resolve <PurchaseContext>(); purchaseContext.PurchaseItem(itemUrl, itemPrice, clientLoginInfo, clientPurchaseInfo); }
public void Purchase_SeleniumTestingToolsCookbook() { var itemUrl = "/Selenium-Testing-Cookbook-Gundecha-Unmesh/dp/1849515743"; var itemPrice = "40.49"; var clientPurchaseInfo = new ClientPurchaseInfo( new ClientAddressInfo() { FullName = "John Smith", Country = "United States", Address1 = "950 Avenue of the Americas", State = "New York", City = "New York City", Zip = "10001-2121", Phone = "00164644885569" }) { GiftWrapping = GiftWrappingStyles.None }; var clientLoginInfo = new ClientLoginInfo() { Email = "*****@*****.**", Password = "******" }; new PurchaseContext(new SalesTaxOrderValidationStrategy()).PurchaseItem(itemUrl, itemPrice, clientLoginInfo, clientPurchaseInfo); }
public void TestMethod1() { var itemUrl = "/Selenium-Testing-Cookbook-Gundecha-Unmesh/dp/1849515743"; var itemPrice = "44.99"; var clientPurchaseInfo = new ClientPurchaseInfo( new ClientAddressInfo() { FullName = "John Smith", Country = "United States", Address1 = "950 Avenue of the Americas", State = "New York", City = "New York City", Zip = "10001-2121", Phone = "00164644885569" }) { GiftWrapping = GiftWrappingStyles.None }; var clientLoginInfo = new ClientLoginInfo() { Email = "*****@*****.**", Password = "******" }; //new PurchaseContext(new SalesTaxOrderValidationStrategy()).PurchaseItem(itemUrl, itemPrice, clientLoginInfo, clientPurchaseInfo); var salesTaxStrategy = new PurchaseContext(new SalesTaxOrderValidationStrategy()); salesTaxStrategy.PurchaseItem(itemUrl, itemPrice, clientLoginInfo, clientPurchaseInfo); Thread.Sleep(5000); }
public void ValidateOrderSummary(string itemPrice, ClientPurchaseInfo clientPurchaseInfo) { foreach (var currentStrategy in _orderpurchaseStrategies) { currentStrategy.AssertOrderSummary(itemPrice, clientPurchaseInfo); } }
public ShippingAddressPageFillShippingBehaviour( ClientPurchaseInfo clientPurchaseInfo) { _shippingAddressPage = UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>(); _clientPurchaseInfo = clientPurchaseInfo; }
public void FillBillingInfo(ClientPurchaseInfo clientInfo) { if (clientInfo.BillingInfo != null) { FillAddressInfoInternal(clientInfo); } }
public void ValidateClientPurchaseInfo(ClientPurchaseInfo clientPurchaseInfo) { foreach (var currentStrategy in _orderpurchaseStrategies) { currentStrategy.ValidateClientPurchaseInfo(clientPurchaseInfo); } }
public void Purchase_SimpleBehaviourEngine() { var itemUrl = "/Selenium-Testing-Cookbook-Gundecha-Unmesh/dp/1849515743"; var itemPrice = "40.49"; var clientPurchaseInfo = new ClientPurchaseInfo( new ClientAddressInfo() { FullName = "John Smith", Country = "United States", Address1 = "950 Avenue of the Americas", State = "New York", City = "New York City", Zip = "10001-2121", Phone = "00164644885569" }) { CouponCode = "99PERDIS" }; var clientLoginInfo = new ClientLoginInfo() { Email = "*****@*****.**", Password = "******" }; Behaviours.Core.BehaviourExecutor.Execute( new ItemPageNavigationBehaviour(itemUrl), new ItemPageBuyBehaviour(), new PreviewShoppingCartPageProceedBehaviour(), new SignInPageLoginBehaviour(clientLoginInfo), new ShippingAddressPageFillShippingBehaviour(clientPurchaseInfo), new ShippingAddressPageFillDifferentBillingBehaviour(clientPurchaseInfo), new ShippingAddressPageContinueBehaviour(), new ShippingPaymentPageContinueBehaviour(), new PlaceOrderPageAssertFinalAmountsBehaviour(itemPrice)); }
public void Purchase_ShoppingCartFacade() { var itemUrl = "/Selenium-Testing-Cookbook-Gundecha-Unmesh/dp/1849515743"; var itemPrice = "40.49"; var clientPurchaseInfo = new ClientPurchaseInfo( new ClientAddressInfo() { FullName = "John Smith", Country = "United States", Address1 = "950 Avenue of the Americas", State = "New York", City = "New York City", Zip = "10001-2121", Phone = "00164644885569" }) { CouponCode = "99PERDIS" }; var clientLoginInfo = new ClientLoginInfo() { Email = "*****@*****.**", Password = "******" }; var shoppingCart = Container.Resolve <ShoppingCart>(); shoppingCart.PurchaseItem(itemUrl, itemPrice, clientLoginInfo, clientPurchaseInfo); }
public void Purchase_SeleniumTestingToolsCookbook() { var itemUrl = "/Selenium-Testing-Cookbook-Gundecha-Unmesh/dp/1849515743"; var itemPrice = "40.49"; var clientPurchaseInfo = new ClientPurchaseInfo( new ClientAddressInfo() { FullName = "John Smith", Country = "United States", Address1 = "950 Avenue of the Americas", State = "New York", City = "New York City", Zip = "10001-2121", Phone = "00164644885569" }) { CouponCode = "99PERDIS" }; var clientLoginInfo = new ClientLoginInfo() { Email = "*****@*****.**", Password = "******" }; var purchaseContext = new PurchaseContext(NullPurchasePromotionalCodeStrategy.Null, new ItemPage(Driver.Browser), new PreviewShoppingCartPage(Driver.Browser), new SignInPage(Driver.Browser), new ShippingAddressPage(Driver.Browser), new ShippingPaymentPage(Driver.Browser), new PlaceOrderPage(Driver.Browser)); purchaseContext.PurchaseItem(itemUrl, itemPrice, clientLoginInfo, clientPurchaseInfo); }
public void ClickDifferentBillingCheckBox(ClientPurchaseInfo clientInfo) { if (clientInfo.BillingInfo != null) { Map.DifferemtFromBillingCheckbox.Click(); } }
public void ValidateOrderSummary(string itemsPrice, ClientPurchaseInfo clientPurchaseInfo) { var currentCountry = (Countries)Enum.Parse(typeof(Countries), clientPurchaseInfo.BillingInfo.Country); var currentItemPrice = decimal.Parse(itemsPrice); var vatTax = VatTaxCalculationService.Calculate(currentItemPrice, currentCountry); PlaceOrderPage.Instance.Validate().EstimatedTaxPrice(vatTax.ToString()); }
public void ValidateOrderSummary(string itemsPrice, ClientPurchaseInfo clientPurchaseInfo) { States currentState = (States)Enum.Parse(typeof(States), clientPurchaseInfo.ShippingInfo.State); decimal currentItemPrice = decimal.Parse(itemsPrice); decimal salesTax = this.SalesTaxCalculationService.Calculate(currentItemPrice, currentState, clientPurchaseInfo.ShippingInfo.Zip); PlaceOrderPage.Instance.Validate().EstimatedTaxPrice(salesTax.ToString()); }
public void ValidateClientPurchaseInfo(ClientPurchaseInfo clientPurchaseInfo) { if (clientPurchaseInfo.ShippingInfo.Country.Equals(Countries.UnitedStates)) { throw new ArgumentException("If the NoTaxesOrderPurchaseStrategy is used, the country cannot be set to United States because a sales tax is going to be applied."); } // Add another validation for the EU contries because for them a VAT Tax is going to be applied if not VAT ID is set. }
public decimal CalculateBeforeTaxPrice(decimal itemsPrice, ClientPurchaseInfo clientPurchaseInfo) { var beforeTaxPrice = default(decimal); var shippingCosts = CalculateShippingPrice(clientPurchaseInfo); beforeTaxPrice = itemsPrice + shippingCosts; return(beforeTaxPrice); }
public decimal CalculateTotalPrice(decimal itemsPrice, decimal estimatedTax, ClientPurchaseInfo clientPurchaseInfo) { var totalPrice = default(decimal); var shippingCosts = CalculateShippingPrice(clientPurchaseInfo); totalPrice = itemsPrice + estimatedTax + shippingCosts; return(totalPrice); }
private void FillAddressInfoInternal(ClientPurchaseInfo clientInfo) { Map.CountryDropDown.SelectByText(clientInfo.ShippingInfo.Country); Map.FullNameInput.SendKeys(clientInfo.ShippingInfo.FullName); Map.Address1Input.SendKeys(clientInfo.ShippingInfo.Address1); Map.CityInput.SendKeys(clientInfo.ShippingInfo.City); Map.ZipInput.SendKeys(clientInfo.ShippingInfo.Zip); Map.PhoneInput.SendKeys(clientInfo.ShippingInfo.Phone); Map.ShipToThisAddress.Click(); }
public void FillDifferentBillingInfo(string fullName, string country, string address, string state, string city, string zip, string phone) { this.clientPurchaseInfo = new ClientPurchaseInfo( new ClientAddressInfo() { FullName = fullName, Country = country, Address1 = address, State = state, City = city, Zip = zip, Phone = phone }); base.Execute(); }
public void FillDifferentBillingInfo(string fullName, string country, string address, string state, string city, string zip, string phone) { var clientPurchaseInfo = new ClientPurchaseInfo( new ClientAddressInfo() { FullName = fullName, Country = country, Address1 = address, State = state, City = city, Zip = zip, Phone = phone }); new ShippingAddressPageFillDifferentBillingBehaviour(clientPurchaseInfo).Execute(); }
public void FillShippingInfo(string fullName, string country, string address, string state, string city, string zip, string phone) { _clientPurchaseInfo = new ClientPurchaseInfo( new ClientAddressInfo() { FullName = fullName, Country = country, Address1 = address, State = state, City = city, Zip = zip, Phone = phone, }); _shippingAddressPage.FillShippingInfo(_clientPurchaseInfo); Execute(); }
public void FillShippingInfo(string fullName, string country, string address, string state, string city, string zip, string phone) { var shippingAddressPage = UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>(); var clientPurchaseInfo = new ClientPurchaseInfo( new ClientAddressInfo() { FullName = fullName, Country = country, Address1 = address, State = state, City = city, Zip = zip, Phone = phone }); shippingAddressPage.FillShippingInfo(clientPurchaseInfo); }
public void FillDifferentBillingInfo(string fullName, string country, string address, string state, string city, string zip, string phone) { var shippingAddressPage = UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>(); var shippingPaymentPage = UnityContainerFactory.GetContainer().Resolve <ShippingPaymentPage>(); var clientPurchaseInfo = new ClientPurchaseInfo( new ClientAddressInfo() { FullName = fullName, Country = country, Address1 = address, State = state, City = city, Zip = zip, Phone = phone }); shippingAddressPage.ClickDifferentBillingCheckBox(clientPurchaseInfo); shippingAddressPage.ClickContinueButton(); shippingPaymentPage.ClickBottomContinueButton(); shippingAddressPage.FillBillingInfo(clientPurchaseInfo); }
public void PurchaseItem( string itemUrl, string itemPrice, ClientLoginInfo clientLoginInfo, ClientPurchaseInfo clientPurchaseInfo) { _itemPage.Navigate(itemUrl); _itemPage.ClickBuyNowButton(); _previewShoppingCartPage.ClickProceedToCheckoutButton(); _signInPage.Login(clientLoginInfo.Email, clientLoginInfo.Password); _shippingAddressPage.FillShippingInfo(clientPurchaseInfo); _shippingAddressPage.ClickDifferentBillingCheckBox(clientPurchaseInfo); _shippingAddressPage.ClickContinueButton(); _shippingPaymentPage.ClickBottomContinueButton(); _shippingAddressPage.FillBillingInfo(clientPurchaseInfo); _shippingAddressPage.ClickContinueButton(); _shippingPaymentPage.ClickTopContinueButton(); var totalPrice = double.Parse(itemPrice); _placeOrderPage.AssertOrderTotalPrice(totalPrice); }
public void Purchase_SeleniumTestingToolsCookbook_DecoratedStrategies() { string itemUrl = "/Selenium-Testing-Cookbook-Gundecha-Unmesh/dp/1849515743"; decimal itemPrice = 40.49m; var shippingInfo = new ClientAddressInfo() { FullName = "John Smith", Country = "United States", Address1 = "950 Avenue of the Americas", State = "Texas", City = "Houston", Zip = "77001", Phone = "00164644885569" }; var billingInfo = new ClientAddressInfo() { FullName = "Anton Angelov", Country = "Bulgaria", Address1 = "950 Avenue of the Americas", City = "Sofia", Zip = "1672", Phone = "0894464647" }; ClientPurchaseInfo clientPurchaseInfo = new ClientPurchaseInfo(billingInfo, shippingInfo) { GiftWrapping = GiftWrappingStyles.Fancy }; ClientLoginInfo clientLoginInfo = new ClientLoginInfo() { Email = "*****@*****.**", Password = "******" }; OrderPurchaseStrategy orderPurchaseStrategy = new TotalPriceOrderPurchaseStrategy(itemPrice); orderPurchaseStrategy = new SalesTaxOrderPurchaseStrategy(orderPurchaseStrategy, itemPrice, clientPurchaseInfo); orderPurchaseStrategy = new VatTaxOrderPurchaseStrategy(orderPurchaseStrategy, itemPrice, clientPurchaseInfo); new PurchaseContext(orderPurchaseStrategy).PurchaseItem(itemUrl, itemPrice.ToString(), clientLoginInfo, clientPurchaseInfo); }
public void Purchase_Decorator() { var itemUrl = "/Selenium-Testing-Cookbook-Gundecha-Unmesh/dp/1849515743"; var itemPrice = 44.99m; var shippingInfo = new ClientAddressInfo() { FullName = "John Smith", Country = "United States", Address1 = "7518 CAROTHERS STREET", State = "Texas", City = "Houston", Zip = "77001", Phone = "00164644885569" }; var billingInfo = new ClientAddressInfo() { FullName = "Anton Angelov", Country = "Bulgaria", Address1 = "950 Avenue of the Americas", City = "Sofia", Zip = "1672", Phone = "0894464647" }; var clientPurchaseInfo = new ClientPurchaseInfo(billingInfo, shippingInfo) { GiftWrapping = GiftWrappingStyles.Fancy }; var clientLoginInfo = new ClientLoginInfo() { Email = "*****@*****.**", Password = "******" }; Advanced.Strategies.OrderPurchaseStrategy orderPurchaseStrategy = new Advanced.Strategies.TotalPriceOrderPurchaseStrategy(itemPrice); orderPurchaseStrategy = new Advanced.Strategies.SalesTaxOrderPurchaseStrategy(orderPurchaseStrategy, itemPrice, clientPurchaseInfo); orderPurchaseStrategy = new Advanced.Strategies.VatTaxOrderPurchaseStrategy(orderPurchaseStrategy, itemPrice, clientPurchaseInfo); new PurchaseContext(orderPurchaseStrategy).PurchaseItem(itemUrl, itemPrice.ToString(), clientLoginInfo, clientPurchaseInfo); }
public void Purchase_SeleniumTestingToolsCookbook() { string itemUrl = "/Selenium-Testing-Cookbook-Gundecha-Unmesh/dp/1849515743"; string itemPrice = "40.49"; var shippingInfo = new ClientAddressInfo() { FullName = "John Smith", Country = "United States", Address1 = "950 Avenue of the Americas", State = "New York", City = "New York City", Zip = "10001-2121", Phone = "00164644885569" }; var billingInfo = new ClientAddressInfo() { FullName = "Anton Angelov", Country = "Bulgaria", Address1 = "950 Avenue of the Americas", City = "Sofia", Zip = "1672", Phone = "0894464647" }; ClientPurchaseInfo clientPurchaseInfo = new ClientPurchaseInfo(billingInfo, shippingInfo) { GiftWrapping = GiftWrappingStyles.Fancy }; ClientLoginInfo clientLoginInfo = new ClientLoginInfo() { Email = "*****@*****.**", Password = "******" }; new PurchaseContext(new SalesTaxOrderPurchaseStrategy(), new VatTaxOrderPurchaseStrategy(), new GiftOrderPurchaseStrategy()) .PurchaseItem(itemUrl, itemPrice, clientLoginInfo, clientPurchaseInfo); }
public void PurchaseItem(string itemUrl, string itemPrice, ClientLoginInfo clientLoginInfo, ClientPurchaseInfo clientPurchaseInfo) { ItemPage.Instance.Navigate(itemUrl); ItemPage.Instance.ClickBuyNowButton(); PreviewShoppingCartPage.Instance.ClickProceedToCheckoutButton(); SignInPage.Instance.Login(clientLoginInfo.Email, clientLoginInfo.Password); ShippingAddressPage.Instance.FillShippingInfo(clientPurchaseInfo); ShippingAddressPage.Instance.ClickContinueButton(); ShippingPaymentPage.Instance.ClickBottomContinueButton(); ShippingPaymentPage.Instance.ClickTopContinueButton(); _orderValidationStrategy.ValidateOrderSummary(itemPrice, clientPurchaseInfo); }