/**
  * 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));
     }
 }