Esempio n. 1
0
        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
                }
            });
        }
Esempio n. 2
0
        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);
        }