public void Purchase_WhiteOpticalKeyboard()
        {
            var itemUrl           = "Wireless-White-2-4G-Optical-Keyboard-and-Mouse-USB-Receiver-Kit-For-PC-/360649772948?pt=LH_DefaultDomain_2&hash=item53f866cf94";
            var itemPrice         = "C $20.86";
            var currentClientInfo = new ClientInfo()
            {
                FirstName = "Anton",
                LastName  = "Angelov",
                Country   = "Bulgaria",
                Address1  = "33 Alexander Malinov Blvd.",
                City      = "Stara Zagora",
                Zip       = "6000",
                Phone     = "0035964644885",
                Email     = "*****@*****.**"
            };
            var itemPage            = new ItemPage();
            var checkoutPage        = new CheckoutPage();
            var shippingAddressPage = new ShippingAddressPage();
            var 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 void Purchase_Casio_GShock()
        {
            var itemUrl           = "Casio-G-Shock-Standard-GA-100-1A2-Mens-Watch-Brand-New-/161209550414?pt=LH_DefaultDomain_15&hash=item2588d6864e";
            var itemPrice         = "AU $168.00";
            var currentClientInfo = new ClientInfo()
            {
                FirstName = "Anton",
                LastName  = "Angelov",
                Country   = "Bulgaria",
                Address1  = "33 Alexander Malinov Blvd.",
                City      = "Sofia",
                Zip       = "1729",
                Phone     = "0035964644885",
                Email     = "*****@*****.**"
            };
            var itemPage            = new ItemPage();
            var checkoutPage        = new CheckoutPage();
            var shippingAddressPage = new ShippingAddressPage();
            var 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 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);
        }
Exemplo n.º 4
0
        public void ShippingAddressAdditionPositiveTest()
        {
            TestDataHandler dataHandler = new TestDataHandler(@".\ShippingAddressTestData");

            dataHandler.WriteTestData();

            ChromeOptions options = new ChromeOptions();

            options.PageLoadStrategy = PageLoadStrategy.None; // PageLoadStrategy.Eager not supported by Chrome

            using (ChromeDriver driver = new ChromeDriver(Directory.GetCurrentDirectory(), options))
            {
                driver.Manage().Window.Maximize();
                IWait <IWebDriver> wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));

                AliExpressHomePage homePage = new AliExpressHomePage(driver, wait);
                homePage.NavigateToAliExpressHomepage();
                homePage.LoginToAliExpress(dataHandler.ReadLoginData());
                MyOrdersPage        myOrdersPage        = homePage.NavigateToMyOrdersPage();
                ShippingAddressPage shippingAddressPage = myOrdersPage.OpenShippingAddressPage();

                Address adr = dataHandler.ReadAddressData();
                shippingAddressPage.AddNewShippingAddress();
                shippingAddressPage.FillShippingAddressForm(adr);
                shippingAddressPage.ShippingAddressFormSave();
                Assert.True(shippingAddressPage.IsAddressPresent(adr));
            }
        }
 public ShippingAddressPageFillShippingBehaviour(
     ClientPurchaseInfo clientPurchaseInfo)
 {
     _shippingAddressPage =
         UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>();
     _clientPurchaseInfo = clientPurchaseInfo;
 }
        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);
        }
Exemplo n.º 7
0
 public SignInPageLoginBehaviour()
 {
     this.signInPage =
         UnityContainerFactory.GetContainer().Resolve <SignInPage>();
     this.shippingAddressPage =
         UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>();
 }
Exemplo n.º 8
0
 public OldShoppingCart(ItemPage itemPage, SignInPage signInPage, CheckoutPage checkoutPage, ShippingAddressPage shippingAddressPage)
 {
     _itemPage            = itemPage;
     _signInPage          = signInPage;
     _checkoutPage        = checkoutPage;
     _shippingAddressPage = shippingAddressPage;
 }
Exemplo n.º 9
0
        public void Test1()
        {
            Helpers helper = new Helpers(driver);

            helper.NavigateToAliExpressHomepage();
            Thread.Sleep(5000); // why this works only here
            helper.LoginToAliExpress();

            // TODO: change this to JSON or random generation
            Address adr;

            adr.contactName         = "John Doe";
            adr.countryRegion       = "United States";
            adr.streetAddress       = "10 Test Ave";
            adr.apartment           = "15";
            adr.stateProvinceRegion = "New York";
            adr.city = "New york";
            adr.zip  = "11221";
            adr.mobileNoCountryCode = "+1";
            adr.mobileNumber        = "5417543111";

            ShippingAddressPage shippingAddressPage = new ShippingAddressPage(driver);

            shippingAddressPage.FillShippingAddressForm(adr);
            Assert.True(shippingAddressPage.IsAddressPresent(adr));
        }
Exemplo n.º 10
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);
        }
 public ShoppingCart(
     ItemPage itemPage,
     PreviewShoppingCartPage previewShoppingCartPage,
     SignInPage signInPage,
     ShippingAddressPage shippingAddressPage,
     ShippingPaymentPage shippingPaymentPage,
     PlaceOrderPage placeOrderPage)
 {
     _itemPage = itemPage;
     _previewShoppingCartPage = previewShoppingCartPage;
     _signInPage          = signInPage;
     _shippingAddressPage = shippingAddressPage;
     _shippingPaymentPage = shippingPaymentPage;
     _placeOrderPage      = placeOrderPage;
 }
Exemplo n.º 12
0
 public PurchaseContextNoNullObjects(
     IPurchasePromotionalCodeStrategy purchasePromotionalCodeStrategy,
     ItemPage itemPage,
     PreviewShoppingCartPage previewShoppingCartPage,
     SignInPage signInPage,
     ShippingAddressPage shippingAddressPage,
     ShippingPaymentPage shippingPaymentPage,
     PlaceOrderPage placeOrderPage)
 {
     this.purchasePromotionalCodeStrategy = purchasePromotionalCodeStrategy;
     this.itemPage = itemPage;
     this.previewShoppingCartPage = previewShoppingCartPage;
     this.signInPage          = signInPage;
     this.shippingAddressPage = shippingAddressPage;
     this.shippingPaymentPage = shippingPaymentPage;
     this.placeOrderPage      = placeOrderPage;
 }
 public PurchaseContext(
     IPurchasePromotionalCodeStrategy purchasePromotionalCodeStrategy,
     ItemPage itemPage,
     PreviewShoppingCartPage previewShoppingCartPage,
     SignInPage signInPage,
     ShippingAddressPage shippingAddressPage,
     ShippingPaymentPage shippingPaymentPage,
     PlaceOrderPage placeOrderPage)
 {
     _purchasePromotionalCodeStrategy = purchasePromotionalCodeStrategy;
     _itemPage = itemPage;
     _previewShoppingCartPage = previewShoppingCartPage;
     _signInPage          = signInPage;
     _shippingAddressPage = shippingAddressPage;
     _shippingPaymentPage = shippingPaymentPage;
     _placeOrderPage      = placeOrderPage;
 }
Exemplo n.º 14
0
        public void ShippingAddressAdditionNegativeTest()
        {
            TestDataHandler dataHandler = new TestDataHandler(@".\ShippingAddressTestData");

            dataHandler.WriteTestData();

            ChromeOptions options = new ChromeOptions();

            options.PageLoadStrategy = PageLoadStrategy.None; // PageLoadStrategy.Eager not supported by Chrome

            using (ChromeDriver driver = new ChromeDriver(Directory.GetCurrentDirectory(), options))
            {
                driver.Manage().Window.Maximize();

                IWait <IWebDriver> wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));

                AliExpressHomePage homePage = new AliExpressHomePage(driver, wait);
                homePage.NavigateToAliExpressHomepage();
                homePage.LoginToAliExpress(dataHandler.ReadLoginData());
                MyOrdersPage        myOrdersPage        = homePage.NavigateToMyOrdersPage();
                ShippingAddressPage shippingAddressPage = myOrdersPage.OpenShippingAddressPage();
                shippingAddressPage.AddNewShippingAddress();
                shippingAddressPage.ClearCountryDropDown();
                shippingAddressPage.ShippingAddressFormSave();

                Assert.Multiple(() =>
                {
                    Assert.True(shippingAddressPage.IsContactErrorMessagePresentAndCorrect());
                    Assert.True(shippingAddressPage.IsCountryRegionErrorMessagePresentAndCorrect());
                    Assert.True(shippingAddressPage.IsAddressErrorMessagePresentAndCorrect());
                    Assert.True(shippingAddressPage.IsStateErrorMessagePresentAndCorrect());
                    Assert.True(shippingAddressPage.IsCityErrorMessagePresentAndCorrect());
                    Assert.True(shippingAddressPage.IsZipErrorMessagePresentAndCorrect());
                    Assert.True(shippingAddressPage.IsMobileNumberErrorMessagePresentAndCorrect());
                });
            }
        }
 public SignInPageLoginBehaviour()
 {
     this.signInPage          = PerfectSystemTestsDesign.Base.UnityContainerFactory.GetContainer().Resolve <SignInPage>();
     this.shippingAddressPage = PerfectSystemTestsDesign.Base.UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>();
 }
Exemplo n.º 16
0
 public ShippingAddressPageFillDifferentBillingBehaviour(ClientPurchaseInfo clientPurchaseInfo)
 {
     this.shippingAddressPage = UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>();
     this.shippingPaymentPage = UnityContainerFactory.GetContainer().Resolve <ShippingPaymentPage>();
     this.clientPurchaseInfo  = clientPurchaseInfo;
 }
Exemplo n.º 17
0
 public ShippingAddressPageFillShippingBehaviour()
 {
     this.shippingAddressPage = UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>();
 }
 public ShippingAddressPageFillDifferentBillingBehaviour()
 {
     this.shippingAddressPage = UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>();
     this.shippingPaymentPage = UnityContainerFactory.GetContainer().Resolve <ShippingPaymentPage>();
 }
 // This version is compatible only with UnityBehaviorEngine.
 public ShippingAddressPageFillShippingBehaviour(ShippingAddressPage shippingAddressPage)
 {
     _shippingAddressPage = shippingAddressPage;
 }
Exemplo n.º 20
0
 public ShippingAddressPageContinueBehaviour()
 {
     this.shippingAddressPage = AdvancedBehavioursDesignPatternPartTwo.Base.UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>();
 }
 public SignInPageLoginBehaviour(Data.ClientLoginInfo clientLoginInfo)
 {
     _signInPage          = Base.UnityContainerFactory.GetContainer().Resolve <SignInPage>();
     _shippingAddressPage = Base.UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>();
     _clientLoginInfo     = clientLoginInfo;
 }
Exemplo n.º 22
0
 public ShippingAddressPageFillDifferentBillingBehaviour(Data.ClientPurchaseInfo clientPurchaseInfo)
 {
     _shippingAddressPage = Base.UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>();
     _shippingPaymentPage = Base.UnityContainerFactory.GetContainer().Resolve <ShippingPaymentPage>();
     _clientPurchaseInfo  = clientPurchaseInfo;
 }
 public SignInPageLoginBehaviour(SignInPage signInPage, ShippingAddressPage shippingAddressPage)
 {
     _signInPage          = signInPage;
     _shippingAddressPage = shippingAddressPage;
 }
Exemplo n.º 24
0
 public ShippingAddressPageFillDifferentBillingBehaviour(AdvancedBehavioursDesignPatternPartTwo.Data.ClientPurchaseInfo clientPurchaseInfo)
 {
     this.shippingAddressPage = AdvancedBehavioursDesignPatternPartTwo.Base.UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>();
     this.shippingPaymentPage = AdvancedBehavioursDesignPatternPartTwo.Base.UnityContainerFactory.GetContainer().Resolve <ShippingPaymentPage>();
     this.clientPurchaseInfo  = clientPurchaseInfo;
 }
 // This version is compatible only with UnityBehaviorEngine.
 public ShippingAddressPageFillDifferentBillingBehaviour(ShippingAddressPage shippingAddressPage, ShippingPaymentPage shippingPaymentPage)
 {
     this.shippingAddressPage = shippingAddressPage;
     this.shippingPaymentPage = shippingPaymentPage;
 }
Exemplo n.º 26
0
 public SignInPageLoginBehaviour(SignInPage signInPage, ShippingAddressPage shippingAddressPage)
 {
     this.signInPage          = signInPage;
     this.shippingAddressPage = shippingAddressPage;
 }
Exemplo n.º 27
0
 public ShippingAddressPageContinueBehaviour()
 {
     _shippingAddressPage = Base.UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>();
 }
 // This version is compatible only with UnityBehaviorEngine.
 public ShippingAddressPageContinueBehaviour(ShippingAddressPage shippingAddressPage)
 {
     this.shippingAddressPage = shippingAddressPage;
 }
Exemplo n.º 29
0
 public SignInPageLoginBehaviour(AdvancedBehavioursDesignPatternPartTwo.Data.ClientLoginInfo clientLoginInfo)
 {
     this.signInPage          = AdvancedBehavioursDesignPatternPartTwo.Base.UnityContainerFactory.GetContainer().Resolve <SignInPage>();
     this.shippingAddressPage = AdvancedBehavioursDesignPatternPartTwo.Base.UnityContainerFactory.GetContainer().Resolve <ShippingAddressPage>();
     this.clientLoginInfo     = clientLoginInfo;
 }