public void Create_IdentitySucceed_ReturnSuccessIdentityResult() { var newUser = new ApplicationUser() { Name = "name", UserName = "******", Email = "*****@*****.**" }; IEnumerable <string> roles = AppRoles.GetRoleNames(); string password = "******"; _mockUserStore.Setup(m => m.CreateAsync(newUser)) .Returns(Task.FromResult(IdentityResult.Success)); _mockUserStore.Setup(m => m.FindByIdAsync(It.IsAny <string>())) .Returns(Task.FromResult(newUser)); IList <string> userRoles = new List <string>(); _mockUserRoleStore.Setup(m => m.GetRolesAsync(newUser)).Returns(Task.FromResult(userRoles)); var result = _service.CreateUser(newUser.Name, newUser.Email, password, roles, _userManager); result.Succeeded.Should().BeTrue(); }
public void UpdateUser_IdentitySucceed_ReturnSuccessServiceResult() { var newUser = new ApplicationUser() { Name = "name", UserName = "******", Email = "*****@*****.**" }; ServiceResult expectedResult = new ServiceResult(true); _mockRepository.Setup(m => m.GetById(_userId)) .Returns(newUser); IEnumerable <string> roles = AppRoles.GetRoleNames(); _mockUserStore.Setup(m => m.UpdateAsync(newUser)) .Returns(Task.FromResult(IdentityResult.Success)); _mockUserStore.Setup(m => m.FindByIdAsync(It.IsAny <string>())) .Returns(Task.FromResult(newUser)); IList <string> userRoles = new List <string>(); _mockUserRoleStore.Setup(m => m.GetRolesAsync(newUser)).Returns(Task.FromResult(userRoles)); var result = _service.UpdateUser(_userId, newUser.Name, newUser.Email, roles, _userManager); result.Succeeded.Should().BeTrue(); }
private void ManageUserRoles(string userId, IEnumerable <string> Roles, ApplicationUserManager userManager) { foreach (var role in AppRoles.GetRoleNames()) { if (!Roles.Contains(role) && userManager.IsInRole(userId, role)) { userManager.RemoveFromRole(userId, role); } else if (Roles.Contains(role)) { userManager.AddToRole(userId, role); } } }
protected override void Seed(ApplicationDbContext context) { // This method will be called after migrating to the latest version. // You can use the DbSet<T>.AddOrUpdate() helper extension method // to avoid creating duplicate seed data. var userManager = new ApplicationUserManager(new UserStore <ApplicationUser, ApplicationRole, string, IdentityUserLogin, ApplicationUserRole, IdentityUserClaim>(context)); var roleManager = new ApplicationRoleManager(new RoleStore <ApplicationRole, string, ApplicationUserRole>(context)); const string name = "*****@*****.**"; const string password = "******"; //Create Role Admin if it does not exist var role = roleManager.FindByName(AppRoles.Admin); if (role == null) { role = new ApplicationRole(AppRoles.Admin); var roleresult = roleManager.Create(role); } var user = userManager.FindByName(name); if (user == null) { user = new ApplicationUser { UserName = name, Email = name }; var result = userManager.Create(user, password); result = userManager.SetLockoutEnabled(user.Id, false); } // Add user admin to Role Admin if not already added var rolesForUser = userManager.GetRoles(user.Id); if (!rolesForUser.Contains(role.Name)) { var result = userManager.AddToRole(user.Id, role.Name); } foreach (var appRole in AppRoles.GetRoleNames()) { if (roleManager.FindByName(appRole) == null) { var roleresult = roleManager .Create(new ApplicationRole(appRole)); } } }