mirror of
https://github.com/nextcloud/server.git
synced 2026-06-08 08:16:43 -04:00
chore(provisioning_api): Add tests for getDisabledUserDetails
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
This commit is contained in:
parent
a9dd34ab35
commit
b2b1be0475
1 changed files with 125 additions and 0 deletions
|
|
@ -214,6 +214,131 @@ class UsersControllerTest extends TestCase {
|
|||
$this->assertEquals($expected, $this->api->getUsers('MyCustomSearch')->getData());
|
||||
}
|
||||
|
||||
private function createUserMock(string $uid, bool $enabled): MockObject&IUser {
|
||||
$mockUser = $this->getMockBuilder(IUser::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$mockUser
|
||||
->method('getUID')
|
||||
->willReturn($uid);
|
||||
$mockUser
|
||||
->method('isEnabled')
|
||||
->willReturn($enabled);
|
||||
return $mockUser;
|
||||
}
|
||||
|
||||
public function testGetDisabledUsersAsAdmin(): void {
|
||||
$loggedInUser = $this->getMockBuilder(IUser::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$loggedInUser
|
||||
->expects($this->once())
|
||||
->method('getUID')
|
||||
->willReturn('admin');
|
||||
$this->userSession
|
||||
->expects($this->atLeastOnce())
|
||||
->method('getUser')
|
||||
->willReturn($loggedInUser);
|
||||
$this->groupManager
|
||||
->expects($this->once())
|
||||
->method('isAdmin')
|
||||
->willReturn(true);
|
||||
$this->userManager
|
||||
->expects($this->once())
|
||||
->method('getDisabledUsers')
|
||||
->with(3, 0, 'MyCustomSearch')
|
||||
->willReturn([
|
||||
$this->createUserMock('admin', false),
|
||||
$this->createUserMock('foo', false),
|
||||
$this->createUserMock('bar', false),
|
||||
]);
|
||||
|
||||
$expected = [
|
||||
'users' => [
|
||||
'admin' => ['id' => 'admin'],
|
||||
'foo' => ['id' => 'foo'],
|
||||
'bar' => ['id' => 'bar'],
|
||||
],
|
||||
];
|
||||
$this->assertEquals($expected, $this->api->getDisabledUsersDetails('MyCustomSearch', 3)->getData());
|
||||
}
|
||||
|
||||
public function testGetDisabledUsersAsSubAdmin(): void {
|
||||
$loggedInUser = $this->getMockBuilder(IUser::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$loggedInUser
|
||||
->expects($this->once())
|
||||
->method('getUID')
|
||||
->willReturn('subadmin');
|
||||
$this->userSession
|
||||
->expects($this->atLeastOnce())
|
||||
->method('getUser')
|
||||
->willReturn($loggedInUser);
|
||||
$this->groupManager
|
||||
->expects($this->once())
|
||||
->method('isAdmin')
|
||||
->willReturn(false);
|
||||
$firstGroup = $this->getMockBuilder('OCP\IGroup')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$secondGroup = $this->getMockBuilder('OCP\IGroup')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$subAdminManager = $this->getMockBuilder('OC\SubAdmin')
|
||||
->disableOriginalConstructor()->getMock();
|
||||
$subAdminManager
|
||||
->expects($this->once())
|
||||
->method('isSubAdmin')
|
||||
->with($loggedInUser)
|
||||
->willReturn(true);
|
||||
$subAdminManager
|
||||
->expects($this->once())
|
||||
->method('getSubAdminsGroups')
|
||||
->with($loggedInUser)
|
||||
->willReturn([$firstGroup, $secondGroup]);
|
||||
$this->groupManager
|
||||
->expects($this->once())
|
||||
->method('getSubAdmin')
|
||||
->willReturn($subAdminManager);
|
||||
$this->groupManager
|
||||
->expects($this->never())
|
||||
->method('displayNamesInGroup');
|
||||
|
||||
$firstGroup
|
||||
->expects($this->once())
|
||||
->method('searchUsers')
|
||||
->with('MyCustomSearch')
|
||||
->willReturn([
|
||||
$this->createUserMock('user1', false),
|
||||
$this->createUserMock('bob', true),
|
||||
$this->createUserMock('user2', false),
|
||||
$this->createUserMock('alice', true),
|
||||
]);
|
||||
|
||||
$secondGroup
|
||||
->expects($this->once())
|
||||
->method('searchUsers')
|
||||
->with('MyCustomSearch')
|
||||
->willReturn([
|
||||
$this->createUserMock('user2', false),
|
||||
$this->createUserMock('joe', true),
|
||||
$this->createUserMock('user3', false),
|
||||
$this->createUserMock('jim', true),
|
||||
$this->createUserMock('john', true),
|
||||
]);
|
||||
|
||||
|
||||
$expected = [
|
||||
'users' => [
|
||||
'user1' => ['id' => 'user1'],
|
||||
'user2' => ['id' => 'user2'],
|
||||
'user3' => ['id' => 'user3'],
|
||||
],
|
||||
];
|
||||
$this->assertEquals($expected, $this->api->getDisabledUsersDetails('MyCustomSearch', 3)->getData());
|
||||
}
|
||||
|
||||
|
||||
public function testAddUserAlreadyExisting() {
|
||||
$this->expectException(\OCP\AppFramework\OCS\OCSException::class);
|
||||
|
|
|
|||
Loading…
Reference in a new issue