public ActionResult UpdatePassword(UserAccount.LocalPasswordModel model)
        {
            if (ModelState.IsValid)
            {
                var result = _accountService.UpdatePassword(model);

                if (result.IsSuccess)
                {
                    return(RedirectToAction("UpdatePasswordSuccess", "Account"));
                }

                foreach (var registrationError in result.Errors)
                {
                    ModelState.AddModelError(registrationError.FieldName, registrationError.ErrorMessage);
                }
            }

            return(View(model));
        }
        public void UpdatePassword_Success()
        {
            _authentication.Setup(_ =>
                                  _.ChangePassword(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns(true);
            var currentUsername = "******";

            _authentication.SetupGet(_ => _.CurrentUserName)
            .Returns(currentUsername);

            var localPasswordModel = new UserAccount.LocalPasswordModel
            {
                OldPassword = "******",
                NewPassword = "******"
            };
            var result = _service.UpdatePassword(localPasswordModel);

            Assert.Equal(0, result.Errors.Count);
            _authentication.Verify(_ => _.ChangePassword(currentUsername, localPasswordModel.OldPassword, localPasswordModel.NewPassword), Times.Once);
            Assert.True(result.IsSuccess);
        }