public void AuthIdentity_HasPermission_1() { TestStore store = ((TestStore)DevWebsiteDataInitializer.FillDefaultDevSet(new TestStore())).FixupReferences(); User user = PopulateAuthData(store); // Find a member and their organization SarMember member = store.Members.First(f => f.Memberships.Count > 0); var orgId = member.Memberships.First().OrganizationId; // Create a new role and put our test user in that role Role testRole = new Role { Name = "testrole" }; RoleUserMembership ru = new RoleUserMembership { Role = testRole, User = user }; testRole.Users.Add(ru); user.Roles.Add(ru); store.Roles.Add(testRole); var tmp = member.Memberships.Select(f => f.OrganizationId).ToArray(); // Give the role permissions to edit members in org Authorization auth = new Authorization { Role = testRole, RoleId = testRole.Id, Permission = PermissionType.EditMember, Scope = orgId }; store.Authorization.Add(auth); AuthIdentityTestService service = new AuthIdentityTestService(user.Username, store); Assert.IsTrue(service.HasPermission(PermissionType.EditMember, member.Id)); }
private User PopulateAuthData(TestStore store) { User user = new User { Username = "******" }; store.Users.Add(user); Role parent = new Role { Name = "Parent" }; Role child = new Role { Name = "Child" }; store.Roles.Add(parent); store.Roles.Add(child); RoleTests.MakeMember(parent, child); RoleUserMembership ru = new RoleUserMembership { User = user, Role = parent }; parent.Users.Add(ru); user.Roles.Add(ru); Authorization auth = new Authorization { Permission = PermissionType.EditMember, Role = child, RoleId = child.Id }; store.Authorization.Add(auth); return user; }