public async Task <IHttpActionResult> Patch(Guid id, ApplicationUserPatchViewModel model) { if (model == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = await _membershipService.GetUser(id).ConfigureAwait(false); if (user == null) { return(NotFound()); } var applicationUserUpdateOptions = _mapping.Map <ApplicationUserUpdateOptions>(model, options => options.Items.Add(nameof(id), id)); var result = await _membershipService.UpdateUser(applicationUserUpdateOptions).ConfigureAwait(false); if (!result.Succeeded) { foreach (var error in result.Errors) { ModelState.AddModelError("", error); } return(BadRequest(ModelState)); } return(Ok()); }
public async Task Patch_ShouldReturnOk() { // Arrange var id = Guid.NewGuid(); var model = new ApplicationUserPatchViewModel(); Mock.Mock <IMembershipService>().Setup(x => x.UpdateUser(It.IsAny <ApplicationUserUpdateOptions>())) .ReturnsAsync(IdentityResult.Success); Mock.Mock <IMembershipService>().Setup(x => x.GetUser(It.IsAny <Guid>())) .ReturnsAsync(new ApplicationUser()); // Act var retVal = await Controller.Patch(id, model); // Assert Assert.That(retVal, Is.Not.Null); Assert.That(retVal, Is.TypeOf <OkResult>()); }