示例#1
0
        public string Post(UserPages pages)
        {
            string result = string.Empty;

            try
            {
                SqlCommand cmd = new SqlCommand();
                cmd.Connection  = _sqlConnection;
                cmd.CommandText = "uspInsertOrUpdateUserPages";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@username", pages.username);
                cmd.Parameters.AddWithValue("@page1", pages.page1);
                cmd.Parameters.AddWithValue("@page2", pages.page2);
                cmd.Parameters.AddWithValue("@page3", pages.page3);
                _sqlConnection.Open();
                result = cmd.ExecuteScalar().ToString();
            }
            catch (Exception ex)
            {
            }
            finally
            {
                _sqlConnection.Close();
            }
            return(result);
        }
        public void User_Route_EditUser()
        {
            // data
            var userData = new UserGenerator();

            // page objects
            var userPages = new UserPages(_driver);

            try
            {
                _test.Log(LogStatus.Info, "Creating user");
                userData.CreateInDatabase();

                var userUrl = $"{_driver.Url}?Destination=UsersPage&Id={userData.Id}";
                _driver.Navigate().GoToUrl(userUrl);
                _test.Log(LogStatus.Info, $"Navigate to {userUrl}");

                _driver.SwitchToFrameById("MainContentsIFrame");
                Assert.IsTrue(userPages.CreateNewUserPage.IsDisplayed(), "The Edit User page is not displayed");
                _test.Log(LogStatus.Pass, "The Edit User page is dispalyed");

                _driver.SwitchToFrameById("tabs_Panel");
                Assert.IsTrue(userPages.CreateNewUserPage.ShortNameFieldContains(userData.UserName), "The Shortname field does not contain the correct username");
                _test.Log(LogStatus.Pass, "The username in the Shortname field is correct");
            }
            catch (Exception e)
            {
                HandleException(e, _driver);
                throw;
            }
            finally
            {
                userData.DeleteFromDatabase();
            }
        }
        public void User_Delete()
        {
            // data
            var userData = new UserGenerator();

            // page objects
            var mainMenu  = new MainMenu(_driver);
            var userMenu  = new SubMenuUsers(_driver);
            var userPages = new UserPages(_driver);

            try
            {
                _test.Log(LogStatus.Info, "Creating user");
                userData.CreateInDatabase();

                // delete the user
                mainMenu.ClickUsers();
                userMenu.ClickUsersList();
                _driver.SwitchToFrameById("MainContentsIFrame");
                userPages.ListUsersPage.MarkItem(userData.Id.ToString());
                _test.Log(LogStatus.Info, "Select user");

                userPages.ListUsersPage.ClickDeleteUser();
                _test.Log(LogStatus.Info, "Click delete");

                userPages.ListUsersPage.ConfirmDeletion();
                _test.Log(LogStatus.Info, "Click 'Yes' to delete the user");

                // Navigate back to the List all users page
                // This is to get around a bug in the system which causes the deleted user to be displayed until page is refreshed
                mainMenu.ClickMainMenuTab();
                mainMenu.ClickUsers();
                userMenu.ClickUsersList();
                _driver.SwitchToFrameById("MainContentsIFrame");
                Assert.IsFalse(userPages.ListUsersPage.ItemFound(userData.Id.ToString()), "User was not deleted");
                _test.Log(LogStatus.Pass, "The user was deleted successfully");
            }
            catch (Exception e)
            {
                HandleException(e, _driver);
                throw;
            }
        }
        public void User_Create_New()
        {
            // data
            var userData = new UserGenerator();

            // page objects
            var mainMenu  = new MainMenu(_driver);
            var userMenu  = new SubMenuUsers(_driver);
            var userPages = new UserPages(_driver);

            // helpers
            var userDataAccessor = new UserDataAccessor();

            try
            {
                mainMenu.ClickUsers();
                userMenu.ClickCreateNewUser();
                _test.Log(LogStatus.Info, "Navigate to Users > Create a new user");

                _driver.SwitchToFrameById("MainContentsIFrame");
                Assert.IsTrue(userPages.CreateNewUserPage.IsDisplayed(),
                              "The 'Create a new user' page is not displayed");
                _test.Log(LogStatus.Pass, "The 'Create a new user' page is displayed");

                // enter user info
                _driver.SwitchToFrameById("tabs_Panel");

                userPages.CreateNewUserPage.EnterShortName(userData.UserName);
                _test.Log(LogStatus.Info, "Enter username: "******"Enter real name: " + userData.RealName);

                userPages.CreateNewUserPage.EnterEmail(userData.Email);
                _test.Log(LogStatus.Info, "Enter user email: " + userData.Email);

                //save
                _driver.SwitchToDefaultFrame();
                _driver.SwitchToFrameById("MainContentsIFrame");
                userPages.CreateNewUserPage.ClickSaveButton();
                userPages.CreateNewUserPage.ClickSaveAndCloseButton();
                _test.Log(LogStatus.Info, "Saving user");

                Assert.IsInstanceOfType(userDataAccessor.GetUser(userData.UserName), typeof(RecruitUser),
                                        "The user was not created in the database");
                _test.Log(LogStatus.Pass, "User was created in the database");

                Assert.IsTrue(userPages.ListUsersPage.IsDisplayed(), "The 'List all users' page is not displayed");
                _test.Log(LogStatus.Pass, "The 'List all users' page should be displayed after clicking Save and Close");

                // set the ID in order find the user on the 'List all users' page and to delete the user
                userData.Id = userDataAccessor.GetUser(userData.UserName).Id;
                Assert.IsTrue(userPages.ListUsersPage.ItemFound(userData.Id.ToString()),
                              "The user is listed on the List all users page");
                _test.Log(LogStatus.Pass, "User is listed on the List all users page");

                userData.DeleteFromDatabase();
            }
            catch (Exception e)
            {
                HandleException(e, _driver);
                throw;
            }
        }