public ActionResult <Response> UpdatePassword([FromRoute] Guid id, [FromBody] UpdatePasswordUserRequest model) { var identity = (ClaimsIdentity)HttpContext.User.Identity; _unitOfWork.SetIdentity(identity); var user = _unitOfWork.UserRepository.GetSingle(id); if (user == null) { return(Unauthorized(new Response(HttpStatusCode.BadRequest, "Invalid credential"))); } if (!_authService.VerifyPassword(model.OldPassword, user.Password, Convert.FromBase64String(user.Salt))) { return(BadRequest(new Response(HttpStatusCode.BadRequest, "Invalid credential"))); } var password = _authService.HashPassword(model.NewPassword, out byte[] salt); user.Password = password; user.Salt = Convert.ToBase64String(salt); _unitOfWork.UserRepository.Update(user); _unitOfWork.SaveChanges(); return(Ok(new Response(HttpStatusCode.OK))); }
public void UpdatePassword() { var id = Guid.Parse("0528BD60-3D92-43CC-BFB4-A0D117D65CB6"); var body = new UpdatePasswordUserRequest() { OldPassword = "******", NewPassword = "******", }; var actionResult = _userController.UpdatePassword(id, body); var objectResult = (ObjectResult)actionResult.Result; var objectResultValue = (Response)objectResult.Value; Assert.True(objectResult.StatusCode == (int)HttpStatusCode.OK, objectResultValue.Message); }