예제 #1
0
파일: manager.php 프로젝트: evanjt/core
 public function testDisplayNamesInGroupWithOneUserBackendAndSearchEmptyAndLimitAndOffsetSpecified()
 {
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject | \OC_Group_Backend $backend1
      */
     $backend = $this->getMock('\\OC_Group_Database');
     $backend->expects($this->exactly(1))->method('groupExists')->with('testgroup')->will($this->returnValue(true));
     $backend->expects($this->once())->method('usersInGroup')->with('testgroup', '', 1, 1)->will($this->returnValue(array('user33')));
     /**
      * @var \OC\User\Manager $userManager
      */
     $userManager = $this->getMock('\\OC\\User\\Manager');
     $userBackend = $this->getMock('\\OC_User_Backend');
     $userManager->expects($this->any())->method('get')->will($this->returnCallback(function ($uid) use($userBackend) {
         switch ($uid) {
             case 'user1':
                 return new User('user1', $userBackend);
             case 'user2':
                 return new User('user2', $userBackend);
             case 'user3':
                 return new User('user3', $userBackend);
             case 'user33':
                 return new User('user33', $userBackend);
             default:
                 return null;
         }
     }));
     $manager = new \OC\Group\Manager($userManager);
     $manager->addBackend($backend);
     $users = $manager->displayNamesInGroup('testgroup', '', 1, 1);
     $this->assertEquals(1, count($users));
     $this->assertFalse(isset($users['user1']));
     $this->assertFalse(isset($users['user2']));
     $this->assertFalse(isset($users['user3']));
     $this->assertTrue(isset($users['user33']));
 }