Пример #1
0
        public ActionResult ConfirmResetPassword(ConfirmResetPasswordModel model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to reset password
                bool succeed = UserAuthenticationService.ConfirmResetPassword(model.Username, model.VerifyToken, model.NewPassword);

                if (succeed)
                {
                    FormsService.SignIn(model.Username, false /* createPersistentCookie */);
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Unable to reset password. Please contact administrator.");
                }
            }
            return View(model);
        }
Пример #2
0
        public void Confirm_reset_password_post_returns_view_if_fails()
        {
            // Arrange
            AccountController controller = GetAccountController();

            ConfirmResetPasswordModel model = new ConfirmResetPasswordModel()
            {
                Username = "******",
                VerifyToken = "validToken",
                NewPassword = "******"
            };

            // Act
            ActionResult result = controller.ConfirmResetPassword(model);

            // Assert
            var viewModel = result.AssertViewRendered().WithViewData<ConfirmResetPasswordModel>();

            Assert.AreEqual(model, viewModel);
            Assert.AreEqual("Unable to reset password. Please contact administrator.", controller.ModelState[""].Errors[0].ErrorMessage);
        }
Пример #3
0
        public void Confirm_reset_password_post_returns_view_if_model_state_is_invalid()
        {
            // Arrange
            AccountController controller = GetAccountController();
            ConfirmResetPasswordModel model = new ConfirmResetPasswordModel()
            {
                Username = "******",
                VerifyToken = "validToken",
                NewPassword = "******"
            };
            controller.ModelState.AddModelError("", "Dummy error message.");

            // Act
            ActionResult result = controller.ConfirmResetPassword(model);

            // Assert
            var viewModel = result.AssertViewRendered().WithViewData<ConfirmResetPasswordModel>();

            Assert.AreEqual(model, viewModel);
        }
Пример #4
0
        public void Confirm_reset_password_post_returns_redirect_on_success()
        {
            // Arrange
            AccountController controller = GetAccountController();

            ConfirmResetPasswordModel model = new ConfirmResetPasswordModel()
                                                  {
                                                      Username = "******",
                                                      VerifyToken = "validToken",
                                                      NewPassword = "******"
                                                  };

            // Act
            ActionResult result = controller.ConfirmResetPassword(model);

            // Assert
            result.AssertActionRedirect()
                .ToController("Home")
                .ToAction("Index");
        }