public async void EditUserRoles_ResultFail_ReturnsBadRequestObjectResult() { //Arrange var model = _fixture.Create <EditRolesModel>(); var identityResult = new EditUserRolesResultModel() { Succeeded = false, Errors = new List <IdentityError>() }; _rolesService.Setup(cfg => cfg.EditUserRolesAsync(model)).ReturnsAsync(identityResult); //Act var response = await _rolesController.EditUserRoles(model); //Assert Assert.NotNull(response); Assert.IsType <BadRequestObjectResult>(response.Result); }
public async void EditUserRoles_ResultSucceeded_ReturnsOkObjectResult() { //Arrange var model = _fixture.Create <EditRolesModel>(); var identityResult = new EditUserRolesResultModel() { Succeeded = true, Errors = new List <IdentityError>() }; _rolesService.Setup(cfg => cfg.EditUserRolesAsync(model)).ReturnsAsync(identityResult); //Act var response = await _rolesController.EditUserRoles(model); //Assert Assert.NotNull(response); var okResult = Assert.IsType <OkObjectResult>(response.Result); var result = Assert.IsType <EditUserRolesResultModel>(okResult.Value); Assert.Equal(identityResult, result); }
/// <inheritdoc/> public async Task <EditUserRolesResultModel> EditUserRolesAsync(EditRolesModel model) { User user = await _userManager.FindByIdAsync(model.UserId); var userRoles = await _userManager.GetRolesAsync(user); var addResult = await _userManager.AddToRolesAsync(user, model.Roles.Except(userRoles)); var removeResult = await _userManager.RemoveFromRolesAsync(user, userRoles.Except(model.Roles)); var result = new EditUserRolesResultModel(); result.Succeeded = false; result.Errors.AddRange(addResult.Errors); result.Errors.AddRange(removeResult.Errors); if (addResult.Succeeded && removeResult.Succeeded) { result.Succeeded = true; } return(result); }