public void RedirectsToPasswordChangedIfUserServiceSucceeds() { // Arrange var controller = GetController <UsersController>(); controller.SetUser("user"); GetMock <IUserService>() .Setup(u => u.ChangePassword("user", "old", "new")) .Returns(true); var inputModel = new PasswordChangeViewModel() { OldPassword = "******", NewPassword = "******", ConfirmPassword = "******" }; // Act var result = controller.ChangePassword(inputModel); // Assert ResultAssert.IsRedirectToRoute(result, new { controller = "Users", action = "PasswordChanged" }); }
public virtual ActionResult ChangePassword(PasswordChangeViewModel model) { if (ModelState.IsValid) { if (!userService.ChangePassword(currentUser.Identity.Name, model.OldPassword, model.NewPassword)) { ModelState.AddModelError("OldPassword", Strings.CurrentPasswordIncorrect); } } if (!ModelState.IsValid) { return(View("~/Views/Users/ChangePassword.cshtml", model)); } var errors = userService.CheckForStrongPassword(model.NewPassword); if (errors.Any()) { foreach (var error in errors) { ModelState.AddModelError(string.Empty, error); } return(View("~/Views/Users/ChangePassword.cshtml", model)); } return(RedirectToAction(MVC.Users.PasswordChanged())); }
public void AddsModelErrorIfUserServiceFails() { // Arrange var controller = GetController <UsersController>(); controller.SetUser("user"); GetMock <IUserService>() .Setup(u => u.ChangePassword("user", "old", "new")) .Returns(false); var inputModel = new PasswordChangeViewModel() { OldPassword = "******", NewPassword = "******", ConfirmPassword = "******" }; // Act var result = controller.ChangePassword(inputModel); // Assert var outputModel = ResultAssert.IsView <PasswordChangeViewModel>(result); Assert.Same(inputModel, outputModel); var errorMessages = controller .ModelState["OldPassword"] .Errors .Select(e => e.ErrorMessage) .ToArray(); Assert.Equal(errorMessages, new[] { Strings.CurrentPasswordIncorrect }); }
public void ReturnsViewIfModelStateInvalid() { // Arrange var controller = GetController <UsersController>(); controller.ModelState.AddModelError("test", "test"); var inputModel = new PasswordChangeViewModel(); // Act var result = controller.ChangePassword(inputModel); // Assert var outputModel = ResultAssert.IsView <PasswordChangeViewModel>(result); Assert.Same(inputModel, outputModel); }
public virtual ActionResult ChangePassword(PasswordChangeViewModel model) { if (ModelState.IsValid) { if (!userService.ChangePassword(currentUser.Identity.Name, model.OldPassword, model.NewPassword)) { ModelState.AddModelError("OldPassword", Strings.CurrentPasswordIncorrect); } } if (!ModelState.IsValid) { return(View("~/Views/Users/ChangePassword.cshtml", model)); } return(RedirectToAction(MVC.Users.PasswordChanged())); }
public virtual ActionResult ChangePassword(PasswordChangeViewModel model) { if (ModelState.IsValid) { if (!_userService.ChangePassword(_currentUser.Identity.Name, model.OldPassword, model.NewPassword)) { ModelState.AddModelError( "OldPassword", Strings.CurrentPasswordIncorrect); } } if (!ModelState.IsValid) { return View(model); } return RedirectToAction(MVC.Users.PasswordChanged()); }
public virtual ActionResult ChangePassword(PasswordChangeViewModel model) { if (ModelState.IsValid) if (!userService.ChangePassword(currentUser.Identity.Name, model.OldPassword, model.NewPassword)) ModelState.AddModelError("OldPassword", Strings.CurrentPasswordIncorrect); if (!ModelState.IsValid) return View("~/Views/Users/ChangePassword.cshtml", model); return RedirectToAction(MVC.Users.PasswordChanged()); }
public void RedirectsToPasswordChangedIfUserServiceSucceeds() { // Arrange GetMock<AuthenticationService>() .Setup(u => u.ChangePassword("user", "old", "new")) .Returns(true); var controller = GetController<UsersController>(); controller.SetCurrentUser("user"); var inputModel = new PasswordChangeViewModel() { OldPassword = "******", NewPassword = "******", ConfirmPassword = "******" }; // Act var result = controller.ChangePassword(inputModel); // Assert ResultAssert.IsRedirectToRoute(result, new { controller = "Users", action = "PasswordChanged" }); }
public void AddsModelErrorIfAuthServiceFails() { // Arrange GetMock<AuthenticationService>() .Setup(u => u.ChangePassword("user", "old", "new")) .Returns(false); var controller = GetController<UsersController>(); controller.SetCurrentUser("user"); var inputModel = new PasswordChangeViewModel() { OldPassword = "******", NewPassword = "******", ConfirmPassword = "******" }; // Act var result = controller.ChangePassword(inputModel); // Assert var outputModel = ResultAssert.IsView<PasswordChangeViewModel>(result); Assert.Same(inputModel, outputModel); var errorMessages = controller .ModelState["OldPassword"] .Errors .Select(e => e.ErrorMessage) .ToArray(); Assert.Equal(errorMessages, new[] { Strings.CurrentPasswordIncorrect }); }
public void ReturnsViewIfModelStateInvalid() { // Arrange var controller = GetController<UsersController>(); controller.ModelState.AddModelError("test", "test"); var inputModel = new PasswordChangeViewModel(); // Act var result = controller.ChangePassword(inputModel); // Assert var outputModel = ResultAssert.IsView<PasswordChangeViewModel>(result); Assert.Same(inputModel, outputModel); }