예제 #1
0
        public void SubmitDataExceedingMaxLength(AdminUserRegistrationData data)
        {
            var userName = _driver.FindElementWait(By.XPath("//input[contains(@data-bind, 'value: Model.username')]"));

            userName.SendKeys(data.UserName);

            var password = _driver.FindElementWait(By.XPath("//input[@data-bind='value: Model.password']"));

            password.SendKeys(data.Password);

            var retypePassword = _driver.FindElementWait(By.XPath("//input[@data-bind='value: Model.passwordConfirmation']"));

            retypePassword.SendKeys(data.Password);

            var firstName = _driver.FindElementWait(By.XPath("//input[contains(@data-bind, 'value: Model.firstName')]"));

            firstName.SendKeys(data.FirstName);

            _driver.ScrollPage(0, 600);
            var lastName = _driver.FindElementWait(By.XPath("//input[contains(@data-bind, 'value: Model.lastName')]"));

            lastName.SendKeys(data.LastName);

            var statusOption = string.Format("//span[text()='{0}']", data.Status);
            var status       = _driver.FindElementWait(By.XPath(statusOption));

            status.Click();
            _driver.ScrollPage(0, 400);

            var licenseesWidget = new MultiSelectWidget(_driver, By.XPath("//div[contains(@data-bind, 'items: Model.assignedLicensees')]"));

            licenseesWidget.SelectFromMultiSelect(data.Licensee);

            var rolesList = _driver.FindElementWait(By.XPath("//select[contains(@data-bind, 'options: Model.roles')]"));
            var roleField = new SelectElement(rolesList);

            roleField.SelectByText(data.Role);

            var brandsWidget = new MultiSelectWidget(_driver, By.XPath("//div[contains(@data-bind, 'items: Model.allowedBrands')]"));

            brandsWidget.SelectFromMultiSelect(data.Brand);
            var currenciesWidget = new MultiSelectWidget(_driver, By.XPath("//div[contains(@data-bind, 'items: Model.currencies')]"));

            currenciesWidget.SelectFromMultiSelect(data.Currency);
            _driver.ScrollPage(0, 900);

            var description = _driver.FindElementWait(By.XPath("//textarea[contains(@data-bind, 'value: Model.description')]"));

            description.SendKeys(data.Description);

            var submitButton = _driver.FindElementWait(By.XPath("//button[text()='Save']"));

            submitButton.Click();
        }
예제 #2
0
        public SubmittedNewUserForm SubmitEditedData(AdminUserRegistrationData editAdminUserData)
        {
            var usernameField = _driver.FindElementWait(By.XPath("//input[contains(@data-bind, 'value: Model.username')]"));

            usernameField.SendKeys(editAdminUserData.UserName);

            var firstNameField = _driver.FindElementWait(By.XPath("//input[contains(@data-bind, 'value: Model.firstName')]"));

            firstNameField.SendKeys(editAdminUserData.FirstName);

            _driver.ScrollPage(0, 600);
            var lastNameField = _driver.FindElementWait(By.XPath("//input[contains(@data-bind, 'value: Model.lastName')]"));

            lastNameField.SendKeys(editAdminUserData.LastName);

            var statusOption = string.Format("//span[text()='{0}']", editAdminUserData.Status);
            var statusField  = _driver.FindElementWait(By.XPath(statusOption));

            statusField.Click();
            _driver.ScrollPage(0, 400);

            var licenseesWidget = new MultiSelectWidget(_driver, By.XPath("//div[contains(@data-bind, 'items: Model.assignedLicensees')]"));

            licenseesWidget.SelectFromMultiSelect(editAdminUserData.Licensee);

            var brandsWidget = new MultiSelectWidget(_driver, By.XPath("//div[contains(@data-bind, 'items: Model.allowedBrands')]"));

            brandsWidget.SelectFromMultiSelect(editAdminUserData.Brand);
            var currenciesWidget = new MultiSelectWidget(_driver, By.XPath("//div[contains(@data-bind, 'items: Model.currencies')]"));

            currenciesWidget.SelectFromMultiSelect(editAdminUserData.Currency);

            _driver.ScrollPage(0, 800);

            var descriptionField = _driver.FindElementWait(By.XPath("//textarea[contains(@data-bind, 'value: Model.description')]"));

            descriptionField.SendKeys(editAdminUserData.Description);

            var submitButton = _driver.FindElementWait(By.XPath("//button[text()='Save']"));

            submitButton.Click();
            var submittedForm = new SubmittedNewUserForm(_driver);

            return(submittedForm);
        }
예제 #3
0
        public static SubmittedNewUserForm CreateUserBasedOnPredefinedRole(this IWebDriver driver, AdminUserRegistrationData userData)
        {
            var menu             = new BackendMenuBar(driver);
            var adminManagerPage = menu.ClickAdminManagerMenuItem();
            var newUserForm      = adminManagerPage.OpenNewUserForm();

            newUserForm.Submit(userData);
            return(new SubmittedNewUserForm(driver));
        }
예제 #4
0
        public static SubmittedNewUserForm CreateUser(this IWebDriver driver, RoleData roleData, AdminUserRegistrationData userData, string[] permissions)
        {
            // create a role
            var menu            = new BackendMenuBar(driver);
            var roleManagerPage = menu.ClickRoleManagerMenuItem();
            var newRoleForm     = roleManagerPage.OpenNewRoleForm();

            newRoleForm.SelectPermissions(permissions);
            var submittedForm = newRoleForm.FillInRequiredFieldsAndSubmit(roleData);

            submittedForm.CloseTab("View Role");

            // create a user
            var adminManagerPage = submittedForm.Menu.ClickAdminManagerMenuItem();
            var newUserForm      = adminManagerPage.OpenNewUserForm();

            newUserForm.Submit(userData);

            var submittedUserForm = new SubmittedNewUserForm(driver);

            Assert.AreEqual("User has been successfully created", submittedUserForm.ConfirmationMessage);
            submittedUserForm.CloseTab("View User");

            return(submittedUserForm);
        }