public void Username_Supplied_Is_Case_Insensitive_And_Trimmed()
        {
            // Setup
            User user1 = new User {
                Email = "user1", Password = PasswordUtils.CreatePasswordHash("user1", "pass1")
            };
            User user2 = new User {
                Email = "user2", Password = PasswordUtils.CreatePasswordHash("user2", "pass2")
            };
            User user3 = new User {
                Email = "user3", Password = PasswordUtils.CreatePasswordHash("user3", "pass3")
            };

            _unitOfWork.Users.Add(user1);
            _unitOfWork.Users.Add(user2);
            _unitOfWork.Users.Add(user3);
            _unitOfWork.Commit();

            // Act
            User result = new UserByCredentialsQuery(_unitOfWork).WithEmail(" USER2 ")
                          .WithPassword("pass2")
                          .Execute();

            // Verify
            Assert.IsNotNull(result, "Query returned a null user");
            Assert.AreEqual(user2.Id, result.Id, "Query returned the wrong user");
            Assert.AreEqual(user2.Email, result.Email, "Query returned a user with an incorrect email");
        }
        public void Can_Retrieve_User_With_Correct_Credentials()
        {
            // Setup
            User user1 = new User {
                Email = "user1", Password = PasswordUtils.CreatePasswordHash("user1", "pass1")
            };
            User user2 = new User {
                Email = "user2", Password = PasswordUtils.CreatePasswordHash("user2", "pass2")
            };
            User user3 = new User {
                Email = "user3", Password = PasswordUtils.CreatePasswordHash("user3", "pass3")
            };

            _unitOfWork.Users.Add(user1);
            _unitOfWork.Users.Add(user2);
            _unitOfWork.Users.Add(user3);
            _unitOfWork.Commit();

            // Act
            User result = new UserByCredentialsQuery(_unitOfWork).WithEmail("user2")
                          .WithPassword("pass2")
                          .Execute();

            // Verify
            Assert.IsNotNull(result, "Query returned a null user");
            Assert.AreEqual(user2.Id, result.Id, "Query returned the wrong user");
            Assert.AreEqual(user2.Email, result.Email, "Query returned a user with an incorrect email");
        }
Example #3
0
 public UserProcesses(UserByCredentialsQuery userCredentialsQuery,
                      UserByEmailQuery userEmailQuery,
                      IValidator <EditUserDetailsParams> editUserDetailsValidator,
                      IUnitOfWork unitOfWork)
 {
     _userCredentialsQuery     = userCredentialsQuery;
     _editUserDetailsValidator = editUserDetailsValidator;
     _unitOfWork     = unitOfWork;
     _userEmailQuery = userEmailQuery;
 }
        /// <summary>
        /// Determines if a user exists with the specified username and password
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public override bool ValidateUser(string email, string password)
        {
            var unitOfWork = GetUnitOfWork();
            var user       = new UserByCredentialsQuery(unitOfWork).WithEmail(email)
                             .WithPassword(password)
                             .Execute();

            if (user == null)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
        public void Incorrect_Password_Returns_Null_User()
        {
            // Setup
            User user = new User {
                Email = "user", Password = PasswordUtils.CreatePasswordHash("user", "pass")
            };

            _unitOfWork.Users.Add(user);
            _unitOfWork.Commit();

            // Act
            User result = new UserByCredentialsQuery(_unitOfWork).WithEmail("user")
                          .WithPassword("password")
                          .Execute();

            // Verify
            Assert.IsNull(result, "Query returned a valid user, when none should have been returned");
        }