public async Task GetEditPermissionsViewModelTest() { string roleId = Guid.NewGuid().ToString("N"); string userId = Guid.NewGuid().ToString("N"); var role = new IdentityRole { Id = roleId }; var permission = new IdentityPermission(); var rolePermission = new IdentityRolePermission { RoleId = role.Id, PermissionId = permission.Id }; role.Permissions = new List <IdentityRolePermission> { rolePermission }; var user = new User { Id = userId }; user.Roles.Add(new IdentityUserRole { RoleId = role.Id, Role = role, User = user, UserId = user.Id }); _userRepository.Setup(x => x.GetAsync(It.IsAny <string>())) .Returns(Task.FromResult(user)); _permissionManagerFacade.Setup(x => x.GetAll()) .Returns(Task.FromResult(Enumerable.Repeat(permission, 6))); var result = await _permissionsMapper.GetEditPermissionViewModel <IdentityRole, IdentityPermissionViewModel>(userId, roleId); Assert.That(result.Permissions.Count(), Is.EqualTo(6)); }
public async Task UpdateRolePermissionsShouldSuccess() { var repository = Repository as RoleRepository; string roleId = Guid.NewGuid().ToString("N"); var role = new IdentityRole { Id = roleId }; var permission1Id = Guid.NewGuid().ToString("N"); var permission1 = new IdentityPermission { Name = "1", Id = permission1Id }; var permission2Id = Guid.NewGuid().ToString("N"); var permission2 = new IdentityPermission { Name = "2", Id = permission2Id }; var p3 = new IdentityPermission { Name = "3" }; var p4 = new IdentityPermission { Name = "4" }; var allPermissions = new List <IdentityPermission> { permission1, permission2, p3, p4 }; _permissionManager.Setup(x => x.GetAll()) .Returns(Task.FromResult(allPermissions.AsEnumerable())); _roleManager.Setup(x => x.FindByIdAsync(roleId)) .Returns(Task.FromResult(role)); var userPermission1 = new IdentityRolePermission { Permission = permission1, PermissionId = permission1Id, Role = role, RoleId = roleId }; var userPermission2 = new IdentityRolePermission { Permission = permission2, PermissionId = permission2Id, Role = role, RoleId = roleId }; role.Permissions = new List <IdentityRolePermission> { userPermission1, userPermission2 }; var permissions = new List <IdentityPermissionViewModel> { new IdentityPermissionViewModel { Id = permission1.Id, IsSelected = false }, new IdentityPermissionViewModel { Id = permission2.Id, IsSelected = false }, new IdentityPermissionViewModel { Id = p3.Id, IsSelected = true }, new IdentityPermissionViewModel { Id = p3.Id, IsSelected = true } }; IEditPermissionViewModel <IdentityRole, IdentityPermissionViewModel> model = new EditPermissionViewModel { Permissions = permissions, Role = role, RoleId = roleId }; var result = await repository.UpdateRolePermissions(model); Assert.IsTrue(result.Succeeded); }