/** * testHiddenMembers * * @see 0007122: hide hidden users from lists */ public function testHiddenMembers() { $group = new Tinebase_Model_Group(array('name' => 'testgroup', 'description' => 'test group', 'visibility' => Tinebase_Model_Group::VISIBILITY_DISPLAYED)); $group = Admin_Controller_Group::getInstance()->create($group); $this->_groupIdsToDelete[] = $group->getId(); $list = $this->_instance->get($group->list_id); $sclever = Tinebase_User::getInstance()->getFullUserByLoginName('sclever'); $list->members = array($sclever->contact_id); $list = $this->_instance->update($list); // hide sclever $sclever->visibility = Tinebase_Model_User::VISIBILITY_HIDDEN; Admin_Controller_User::getInstance()->update($sclever, NULL, NULL); // fetch list and check hidden members $listGet = $this->_instance->get($list->getId()); $listSearch = $this->_instance->search(new Addressbook_Model_ListFilter(array(array('field' => 'id', 'operator' => 'in', 'value' => array($list->getId())))))->getFirstRecord(); $listGetMultiple = $this->_instance->getMultiple(array($list->getId()))->getFirstRecord(); foreach (array('get' => $listGet, 'search' => $listSearch, 'getMultiple' => $listGetMultiple) as $fn => $listRecord) { $this->assertTrue($listRecord instanceof Addressbook_Model_List, $fn . ' did not return a list: ' . var_export($listRecord, TRUE)); $this->assertEquals(0, count($listRecord->members), 'Hidden sclever should not appear in list members returned by ' . $fn . '(): ' . print_r($listRecord->toArray(), TRUE)); } }