public function testCanLoadById() { $groupId = 98282; $groupName = 'gn'; $groupAdminId = 1111; $rows = array(); $rows[] = array(ColumnNames::GROUP_ID => $groupId, ColumnNames::GROUP_NAME => $groupName, ColumnNames::GROUP_ADMIN_GROUP_ID => $groupAdminId); $groupUsers = array(array(ColumnNames::USER_ID => 1), array(ColumnNames::USER_ID => 2)); $permissions = array(array(ColumnNames::GROUP_ID => 1, ColumnNames::RESOURCE_ID => 1), array(ColumnNames::GROUP_ID => 1, ColumnNames::RESOURCE_ID => 2)); $roles = array(array(ColumnNames::ROLE_ID => 1, ColumnNames::ROLE_NAME => 'thing', ColumnNames::ROLE_LEVEL => RoleLevel::NONE), array(ColumnNames::ROLE_ID => 2, ColumnNames::ROLE_NAME => 'name', ColumnNames::ROLE_LEVEL => RoleLevel::GROUP_ADMIN)); $this->db->SetRow(0, $rows); $this->db->SetRow(1, $groupUsers); $this->db->SetRow(2, $permissions); $this->db->SetRow(3, $roles); $group = $this->repository->LoadById($groupId); $expectedGroupCommand = new GetGroupByIdCommand($groupId); $expectedUsersCommand = new GetAllGroupUsersCommand($groupId, AccountStatus::ACTIVE); $expectedPermissionsCommand = new GetAllGroupPermissionsCommand($groupId); $expectedRolesCommand = new GetAllGroupRolesCommand($groupId); $this->assertTrue($this->db->ContainsCommand($expectedGroupCommand)); $this->assertTrue($this->db->ContainsCommand($expectedUsersCommand)); $this->assertTrue($this->db->ContainsCommand($expectedPermissionsCommand)); $this->assertTrue($this->db->ContainsCommand($expectedRolesCommand)); $this->assertEquals($groupId, $group->Id()); $this->assertEquals($groupName, $group->Name()); $this->assertEquals($groupAdminId, $group->AdminGroupId()); $this->assertTrue($group->HasMember(1)); $this->assertFalse($group->HasMember(3)); $this->assertTrue(in_array(1, $group->AllowedResourceIds())); $this->assertFalse(in_array(3, $group->AllowedResourceIds())); $this->assertTrue(in_array(2, $group->RoleIds())); $this->assertFalse(in_array(4, $group->RoleIds())); }
/** * @return array|int[] */ protected function GetGroupRoles() { $groupId = $this->page->GetGroupId(); $group = $this->groupRepository->LoadById($groupId); $ids = $group->RoleIds(); return $ids; }
public function LoadById($groupId) { $user = $this->userRepository->LoadById($this->userSession->UserId); if ($user->IsGroupAdminFor($groupId)) { return parent::LoadById($groupId); } return Group::Null(); }