Example #1
0
        public virtual ActionResult Login(Login accountLoginViewModel)
        {
            if (!ModelState.IsValid)
            {
                return View("");
            }

            var user = _userAccountService.ValidateUser(accountLoginViewModel.Email, accountLoginViewModel.Password);

            if (!user.Any())
            {
                ModelState.AddModelError("loginError", "Utilisateur ou mot de passe inexistant");
                return View("");
            }

            AuthentificateUser(user.First());

            return RedirectToAction(MVC.Home.Index());
        }
        public void login_should_authentificate_user_when_user_is_valid()
        {
            //Arrange
            var user = _fixture.Create<ApplicationUser>();
            var loginViewModel = new Login()
                                 {
                                    Email = user.Email,
                                    Password = user.Password
                                 };

            var valideUser = new MayBe<ApplicationUser>(user);
            _userAccountService.ValidateUser(loginViewModel.Email, loginViewModel.Password).Returns(valideUser);

            //Action
            _accountController.Login(loginViewModel);

            //Assert
            _httpContext.Received().AuthenticationSignIn(Arg.Any<ClaimsIdentity>());
        }
        public virtual ActionResult Login(Login accountLoginViewModel)
        {
            if (!ModelState.IsValid)
            {
                return View("");
            }
            var user = _userRepository.GetAll().FirstOrDefault(x => x.Email == accountLoginViewModel.Email);
            if (user == null)
            {
                ModelState.AddModelError("loginError", "Utilisateur inexistant");
                return View("");
            }
            if (user.Password != accountLoginViewModel.Password)
            {
                ModelState.AddModelError("loginError", "Le mot de passe est invalide");
                return View("");
            }

            AuthentificateUser(user);

            return RedirectToAction(MVC.Home.Index());
        }
        public void login_should_redirect_to_home_index_when_user_is_valid()
        {
            //Arrange
            var user = _fixture.Create<ApplicationUser>();
            var loginViewModel = new Login()
            {
                Email = user.Email,
                Password = user.Password
            };

            var valideUser = new MayBe<ApplicationUser>(user);
            _userAccountService.ValidateUser(loginViewModel.Email, loginViewModel.Password).Returns(valideUser);

            //Action
            var routeResult = _accountController.Login(loginViewModel) as RedirectToRouteResult;
            var routeAction = routeResult.RouteValues["Action"];

            //Assert
            routeAction.Should().Be(MVC.Home.Views.ViewNames.Index);
        }