/// <summary>
        /// Initializes a new instance of the <see cref="CreatePage"/> class.
        /// </summary>
        /// <param name="basePage">The base page.</param>
        /// <param name="pageObjectFactory">The page object factory.</param>
        /// <param name="driver">The driver.</param>
        /// <param name="pageSettings">The page settings.</param>
        /// <exception cref="ArgumentNullException">
        /// basePage
        /// or
        /// pageObjectFactory
        /// </exception>
        public CreatePage(IBasePage basePage,
                          IPageObjectFactory pageObjectFactory,
                          IWebDriver driver,
                          PageSettings pageSettings)
            : base(driver,
                   new Uri(pageSettings.AdminBaseUrl, "Customer/Create"))
        {
            this.basePage = basePage
                            ?? throw new ArgumentNullException(nameof(basePage));

            this.pageObjectFactory = pageObjectFactory
                                     ?? throw new ArgumentNullException(nameof(pageObjectFactory));

            Info = new _CreateOrUpdateInfoComponent(
                By.CssSelector(""),
                pageObjectFactory,
                WrappedDriver);
        }
Example #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="EditPage"/> class.
        /// </summary>
        /// <param name="basePage">The base page.</param>
        /// <param name="pageObjectFactory">The page object factory.</param>
        /// <param name="driver">The driver.</param>
        /// <param name="pageSettings">The page settings.</param>
        public EditPage(IBasePage basePage,
                        IPageObjectFactory pageObjectFactory,
                        IWebDriver driver,
                        PageSettings pageSettings)
            : base(driver,
                   new Uri(pageSettings.BaseUrl, "/Admin"),
                   new UriTemplate("Customer/Edit/{id}"))
        {
            this.basePage = basePage
                            ?? throw new ArgumentNullException(nameof(basePage));

            this.pageObjectFactory = pageObjectFactory
                                     ?? throw new ArgumentNullException(nameof(pageObjectFactory));

            InfoTab = new _CreateOrUpdateInfoComponent(
                By.CssSelector("#tab-info"),
                pageObjectFactory,
                WrappedDriver);

            OrdersTab = new _CreateOrUpdateOrdersComponent(
                By.CssSelector("#tab-orders"),
                pageObjectFactory,
                WrappedDriver);

            AddressesTab = new _CreateOrUpdateAddressesComponent(
                By.CssSelector("#tab-address"),
                pageObjectFactory,
                WrappedDriver);

            CurrentShoppingCartAndWishlistTab = new _CreateOrUpdateCurrentShoppingCartComponent(
                By.CssSelector("#tab-cart"),
                pageObjectFactory,
                WrappedDriver);

            ActivityLogTab = new _CreateOrUpdateActivityLogComponent(
                By.CssSelector("#tab-activitylog"),
                pageObjectFactory,
                driver);

            ImpersonateTab = new _CreateOrUpdateImpersonateComponent(
                By.CssSelector("#tab-impersonate"),
                pageObjectFactory,
                driver);

            Tabs = new NavsTabComponent <IEditPage>(
                By.CssSelector("#customer-edit"),
                new ILoadableComponent[]
            {
                InfoTab,
                OrdersTab,
                AddressesTab,
                CurrentShoppingCartAndWishlistTab,
                ActivityLogTab,
                ImpersonateTab
            },
                WrappedDriver,
                new NavsTabComponentConfiguration
            {
                ActiveTabContentElementSelector = By.CssSelector(".tab-content .tab-pane.active"),
                ActiveTabHeaderElementSelector  = By.CssSelector(".nav-tabs li.active"),
                ActiveTabHeaderNameSelector     = By.CssSelector(".nav-tabs li.active"),
                TabContentElementsSelector      = By.CssSelector(".tab-content .tab-pane"),
                TabHeaderElementsSelector       = By.CssSelector(".nav-tabs li"),
                TabHeaderNamesSelector          = By.CssSelector(".nav-tabs li")
            },
                this);
        }