public async Task <IActionResult> UpdateCurrentUser([FromBody] UpdateCurrentUserRequest updatedUser) { var user = await _userManager.GetUserAsync(HttpContext.User); if (user == null) { return(NotFound()); } user.UserName = updatedUser.UserName ?? user.UserSurname; user.Age = updatedUser.Age ?? user.Age; user.UserSurname = updatedUser.UserSurname ?? user.UserSurname; user.Description = updatedUser.Description ?? user.Description; user.PhoneNumber = updatedUser.PhoneNumber ?? user.PhoneNumber; var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { _logger.Info($"User updated successfully - {user.Email}."); return(NoContent()); } return(BadRequest()); }
public async Task UpdateCurrentUser_NoContent() { userManager.Setup(t => t.GetUserAsync(principal)).Returns(Task.FromResult(_users[0])); _requestController = new UserController(userManager.Object, _mapper, _logger); _requestController.ControllerContext = new ControllerContext { HttpContext = fakeHttpContext.Object }; var updateUser = new UpdateCurrentUserRequest() { UserName = "******", UserSurname = "y", Age = 12, Description = "z", PhoneNumber = "123123123" }; var result = await _requestController.UpdateCurrentUser(updateUser); result.Should().NotBeNull(); var okResult = result.Should().BeOfType <NoContentResult>().Subject; Assert.True(result.As <NoContentResult>().StatusCode.Equals(204)); }