public LoginResult Add(Login loginUser) { if (_userRepository.SingleOrDefault(c => c.UserName == loginUser.UserName) != null) { return new LoginResult() { Success = false, ErrorMessage = "There is a userDetails with the same login" } } ; var salt = SaltedHashGenerator.GenerateSalt(); var newUser = _userRepository.Add(new Domain.User { UserName = loginUser.UserName, Password = SaltedHashGenerator.GenerateSaltedHash(loginUser.Password, salt), Salt = salt, Account = new Account() }); _userRepository.SaveChanges(); return(new LoginResult() { Success = true, User = new UserDetails() { UserId = newUser.UserId, UserName = newUser.UserName, Balance = newUser.Account.Balance } }); }
public void Login_ReturnsFailure_WhenPasswordIsWrong() { var salt = SaltedHashGenerator.GenerateSalt(); var user = new User { UserId = 1, UserName = "******", Password = SaltedHashGenerator.GenerateSaltedHash("24041998", salt), Salt = salt }; var loginUser = new Login() { UserName = "******", Password = "******" }; _userRepository .Setup(c => c.SingleOrDefault(It.IsAny <Expression <Func <User, bool> > >())) .Returns(user); var userService = new UserService(_userRepository.Object); Assert.IsFalse(userService.Login(loginUser).Success); }