public async Task<ActionResult> AddUserToRole(AddUserToRoleViewModel model) { if (ModelState.IsValid) { using (var ctx = new ApplicationDbContext()) { var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(ctx)); var identityResult = await userManager.AddToRoleAsync(model.UserId, model.RoleName); if (identityResult.Succeeded) { TempData["Message"] = "User added to role succesfully"; } else { // TODO: add errors to TempData } } } return RedirectToAction("EditMembers", "Roles", new { Id = model.RoleName}); }
public async Task AddUserToRoleTest() { var role = await CreateRole("testing"); var user = await CreateUser("tester"); var target = new RolesController(); var request = new AddUserToRoleViewModel() { RoleName = role.Name, UserId = user.Id }; var actual = await target.AddUserToRole(request) as ViewResult; using (var ctx = new ApplicationDbContext()) { var dbUser = ctx.Users.Find(user.Id); dbUser.Roles.Count.ShouldEqual(1); } }