public void UserDAO_Update_UnsuccessfulUpdate
            (string username, string name,
            string email, string phoneNumber, string password, int disabled, string userType, string salt,
            long tempTimestamp, string emailCode, long emailCodeTimestamp, int loginFailures,
            long lastLoginFailTimestamp, int emailCodeFailures, int phoneCodeFailures)
        {
            //Arrange

            UnitTestUserDAO userDAO = new UnitTestUserDAO();
            // Create a user for the test.
            UserRecord userRecord = new UserRecord(username, name, email,
                                                   phoneNumber, password, disabled, userType, salt,
                                                   tempTimestamp, emailCode, emailCodeTimestamp, loginFailures,
                                                   lastLoginFailTimestamp, emailCodeFailures, phoneCodeFailures);

            userDAO.Create(userRecord);

            // Different username with new data.
            string     newString         = "new";
            int        newNumber         = 1;
            UserRecord updatedUserRecord = new UserRecord(NonExistingUsername, newString, newString,
                                                          newString, newString, newNumber, newString, newString,
                                                          newNumber, newString, newNumber, newNumber,
                                                          newNumber, newNumber, newNumber);
            // Set the result to false by default.
            bool result = false;

            //Act

            try
            {
                // Update the user.
                userDAO.Update(updatedUserRecord);
            }
            catch (ArgumentException)
            {
                result = true;
            }

            //Assert

            // The result should be true.
            Assert.IsTrue(result);
        }
        public void UserDAO_Update_SuccessfulUpdate
            (string username, string name,
            string email, string phoneNumber, string password, int disabled, string userType, string salt,
            long tempTimestamp, string emailCode, long emailCodeTimestamp, int loginFailures,
            long lastLoginFailTimestamp, int emailCodeFailures, int phoneCodeFailures)
        {
            //Arrange

            UnitTestUserDAO userDAO = new UnitTestUserDAO();
            // Create a user for the test.
            UserRecord userRecord = new UserRecord(username, name, email,
                                                   phoneNumber, password, disabled, userType, salt,
                                                   tempTimestamp, emailCode, emailCodeTimestamp, loginFailures,
                                                   lastLoginFailTimestamp, emailCodeFailures, phoneCodeFailures);

            userDAO.Create(userRecord);

            // Same username with new data.
            string     newString         = "new";
            int        newNumber         = 1;
            UserRecord updatedUserRecord = new UserRecord(username, newString, newString,
                                                          newString, newString, newNumber, newString, newString,
                                                          newNumber, newString, newNumber, newNumber,
                                                          newNumber, newNumber, newNumber);

            //Act

            // Update the user.
            userDAO.Update(updatedUserRecord);
            // Read the updated user's data.
            UserObject userObject = (UserObject)userDAO.ReadById(username);
            // Check if the data are updatd correctly, and set the result accordingly.
            bool correctDataResult = DataEquals(updatedUserRecord, userObject);

            //Assert

            // The result should be true.
            Assert.IsTrue(correctDataResult);
        }
        /// <summary>
        /// Update a user in the data store to make him permanent.
        /// </summary>
        /// <param name="username">Username of the user to make permanent.</param>
        /// <returns>Returns true if the operation is successfull and false if it failed.</returns>
        public static bool MakeTempPerm(string username)
        {
            // Make the temp timestamp have no value.
            UserRecord record = new UserRecord(username, tempTimestamp: Constants.NoValueLong);

            return(_userDAO.Update(record));
        }