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));
        }
Beispiel #2
0
        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> >());
        }