Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2016-09-14 16:05:10 +0300
committerMorris Jobke <hey@morrisjobke.de>2017-04-29 06:59:09 +0300
commite521b6799fac5e4765c4e0a7fdf0d182f4dc015d (patch)
tree107fac0c03edcc993f7668447f923b2a2a3c34bf /tests
parent79d74a1425e6765a30469422a9b9ff218c8e2ef2 (diff)
add unit tests for disable method
Diffstat (limited to 'tests')
-rw-r--r--tests/Settings/Controller/UsersControllerTest.php220
1 files changed, 219 insertions, 1 deletions
diff --git a/tests/Settings/Controller/UsersControllerTest.php b/tests/Settings/Controller/UsersControllerTest.php
index 14f43a9e8e3..986f15e7a32 100644
--- a/tests/Settings/Controller/UsersControllerTest.php
+++ b/tests/Settings/Controller/UsersControllerTest.php
@@ -2438,7 +2438,225 @@ class UsersControllerTest extends \Test\TestCase {
$this->userSession->expects($this->once())->method('getUser')->willReturn(null);
$result = $controller->getVerificationCode('account', false);
- $this->assertSame(Http::STATUS_BAD_REQUEST ,$result->getStatus());
+ $this->assertSame(Http::STATUS_BAD_REQUEST, $result->getStatus());
+ }
+
+ public function testDisableUserFailsDueSameUser() {
+ $user = $this->getMockBuilder('\OC\User\User')
+ ->disableOriginalConstructor()->getMock();
+ $user->expects($this->once())
+ ->method('getUID')
+ ->will($this->returnValue('abc'));
+ $this->userSession
+ ->expects($this->once())
+ ->method('getUser')
+ ->will($this->returnValue($user));
+ $expectedResponse = new DataResponse(
+ [
+ 'status' => 'error',
+ 'data' => [
+ 'message' => 'Unable to disable user.',
+ ],
+ ],
+ Http::STATUS_FORBIDDEN
+ );
+ $controller = $this->getController(true);
+ $response = $controller->disable('abc');
+ $this->assertEquals($expectedResponse, $response);
+ }
+
+ public function testDisableUserFailsDueNoAdminAndNoSubadmin() {
+ $user = $this->getMockBuilder('\OC\User\User')
+ ->disableOriginalConstructor()->getMock();
+ $user->expects($this->once())
+ ->method('getUID')
+ ->will($this->returnValue('def'));
+ $this->userSession
+ ->expects($this->exactly(2))
+ ->method('getUser')
+ ->will($this->returnValue($user));
+ $user2 = $this->getMockBuilder('\OC\User\User')
+ ->disableOriginalConstructor()->getMock();
+ $user2->expects($this->never())
+ ->method('setEnabled');
+ $this->userManager
+ ->expects($this->once())
+ ->method('get')
+ ->with('abc')
+ ->willReturn($user2);
+
+ $subadmin = $this->createMock('\OC\SubAdmin');
+ $subadmin->expects($this->once())
+ ->method('isUserAccessible')
+ ->will($this->returnValue(false));
+ $this->groupManager
+ ->expects($this->once())
+ ->method('getSubAdmin')
+ ->willReturn($subadmin);
+ $expectedResponse = new DataResponse(
+ [
+ 'status' => 'error',
+ 'data' => [
+ 'message' => 'Authentication error',
+ ],
+ ],
+ Http::STATUS_FORBIDDEN
+ );
+ $controller = $this->getController(false);
+ $response = $controller->disable('abc');
+ $this->assertEquals($expectedResponse, $response);
+ }
+
+ public function testDisableUserFailsDueNoUser() {
+ $user = $this->getMockBuilder('\OC\User\User')
+ ->disableOriginalConstructor()->getMock();
+ $user->expects($this->once())
+ ->method('getUID')
+ ->will($this->returnValue('def'));
+ $this->userSession
+ ->expects($this->exactly(1))
+ ->method('getUser')
+ ->will($this->returnValue($user));
+ $this->userManager
+ ->expects($this->once())
+ ->method('get')
+ ->with('abc')
+ ->willReturn(null);
+
+ $this->groupManager
+ ->expects($this->never())
+ ->method('getSubAdmin');
+
+ $expectedResponse = new DataResponse(
+ [
+ 'status' => 'error',
+ 'data' => [
+ 'message' => 'Unable to disable user.',
+ ],
+ ]
+ );
+ $controller = $this->getController(true);
+ $response = $controller->disable('abc');
+ $this->assertEquals($expectedResponse, $response);
+ }
+
+ public function testDisableUserFailsDueNoUserForSubAdmin() {
+ $user = $this->getMockBuilder('\OC\User\User')
+ ->disableOriginalConstructor()->getMock();
+ $user->expects($this->once())
+ ->method('getUID')
+ ->will($this->returnValue('def'));
+ $this->userSession
+ ->expects($this->exactly(2))
+ ->method('getUser')
+ ->will($this->returnValue($user));
+ $this->userManager
+ ->expects($this->once())
+ ->method('get')
+ ->with('abc')
+ ->willReturn(null);
+
+ $subadmin = $this->createMock('\OC\SubAdmin');
+ $subadmin->expects($this->once())
+ ->method('isUserAccessible')
+ ->will($this->returnValue(true));
+ $this->groupManager
+ ->expects($this->once())
+ ->method('getSubAdmin')
+ ->willReturn($subadmin);
+
+ $expectedResponse = new DataResponse(
+ [
+ 'status' => 'error',
+ 'data' => [
+ 'message' => 'Unable to disable user.',
+ ],
+ ]
+ );
+ $controller = $this->getController(false);
+ $response = $controller->disable('abc');
+ $this->assertEquals($expectedResponse, $response);
+ }
+
+ public function testDisableUserSuccessForAdmin() {
+ $user = $this->getMockBuilder('\OC\User\User')
+ ->disableOriginalConstructor()->getMock();
+ $user->expects($this->once())
+ ->method('getUID')
+ ->will($this->returnValue('def'));
+ $this->userSession
+ ->expects($this->exactly(1))
+ ->method('getUser')
+ ->will($this->returnValue($user));
+ $user2 = $this->getMockBuilder('\OC\User\User')
+ ->disableOriginalConstructor()->getMock();
+ $user2->expects($this->once())
+ ->method('setEnabled');
+ $this->userManager
+ ->expects($this->once())
+ ->method('get')
+ ->with('abc')
+ ->willReturn($user2);
+
+ $this->groupManager
+ ->expects($this->never())
+ ->method('getSubAdmin');
+
+ $expectedResponse = new DataResponse(
+ [
+ 'status' => 'success',
+ 'data' => [
+ 'username' => 'abc',
+ 'enabled' => 0,
+ ],
+ ]
+ );
+ $controller = $this->getController(true);
+ $response = $controller->disable('abc');
+ $this->assertEquals($expectedResponse, $response);
+ }
+
+ public function testDisableUserSuccessForSubAdmin() {
+ $user = $this->getMockBuilder('\OC\User\User')
+ ->disableOriginalConstructor()->getMock();
+ $user->expects($this->once())
+ ->method('getUID')
+ ->will($this->returnValue('def'));
+ $this->userSession
+ ->expects($this->exactly(2))
+ ->method('getUser')
+ ->will($this->returnValue($user));
+ $user2 = $this->getMockBuilder('\OC\User\User')
+ ->disableOriginalConstructor()->getMock();
+ $user2->expects($this->once())
+ ->method('setEnabled');
+ $this->userManager
+ ->expects($this->once())
+ ->method('get')
+ ->with('abc')
+ ->willReturn($user2);
+
+ $subadmin = $this->createMock('\OC\SubAdmin');
+ $subadmin->expects($this->once())
+ ->method('isUserAccessible')
+ ->will($this->returnValue(true));
+ $this->groupManager
+ ->expects($this->once())
+ ->method('getSubAdmin')
+ ->willReturn($subadmin);
+
+ $expectedResponse = new DataResponse(
+ [
+ 'status' => 'success',
+ 'data' => [
+ 'username' => 'abc',
+ 'enabled' => 0,
+ ],
+ ]
+ );
+ $controller = $this->getController(false);
+ $response = $controller->disable('abc');
+ $this->assertEquals($expectedResponse, $response);
}
}