public async Task <IHttpActionResult> PostRole(ApplicationRoleCreateViewModel model) { if (model == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _membershipService.CreateRole(model.RoleName).ConfigureAwait(false); if (!result.Succeeded) { foreach (var error in result.Errors) { ModelState.AddModelError("", error); } return(BadRequest(ModelState)); } var identityRole = await _membershipService.GetRole(model.RoleName).ConfigureAwait(false); var applicationRoleViewModel = _mapping.Map <ApplicationRoleViewModel>(identityRole); return(CreatedAtRoute("Roles.GetById", new { applicationRoleViewModel.Id }, applicationRoleViewModel)); }
public async Task PostRole_ShouldReturnOk() { // Arrange var model = new ApplicationRoleCreateViewModel(); Mock.Mock <IMembershipService>().Setup(x => x.CreateRole(It.IsAny <string>())) .ReturnsAsync(IdentityResult.Success); Mock.Mock <IMembershipService>().Setup(x => x.GetRole(It.IsAny <string>())) .ReturnsAsync(new IdentityRole()); // Act var retVal = await Controller.PostRole(model); // Assert Assert.That(retVal, Is.Not.Null); Assert.That(retVal, Is.TypeOf <CreatedAtRouteNegotiatedContentResult <ApplicationRoleViewModel> >()); }