summaryrefslogtreecommitdiffstats
path: root/tests/lib/group/metadata.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/group/metadata.php')
-rw-r--r--tests/lib/group/metadata.php76
1 files changed, 55 insertions, 21 deletions
diff --git a/tests/lib/group/metadata.php b/tests/lib/group/metadata.php
index 3f4019c2fac..233463c71eb 100644
--- a/tests/lib/group/metadata.php
+++ b/tests/lib/group/metadata.php
@@ -1,19 +1,49 @@
<?php
-
/**
- * Copyright (c) 2014 Arthur Schiwon <blizzz@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
+ * @author Arthur Schiwon <blizzz@owncloud.com>
+ * @author Lukas Reschke <lukas@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
*/
namespace Test\Group;
class Test_MetaData extends \Test\TestCase {
- private function getGroupManagerMock() {
- return $this->getMockBuilder('\OC\Group\Manager')
+ /** @var \OC\Group\Manager */
+ private $groupManager;
+ /** @var \OCP\IUserSession */
+ private $userSession;
+ /** @var \OC\Group\MetaData */
+ private $groupMetadata;
+ /** @var bool */
+ private $isAdmin = true;
+
+ public function setUp() {
+ parent::setUp();
+ $this->groupManager = $this->getMockBuilder('\OC\Group\Manager')
->disableOriginalConstructor()
->getMock();
+ $this->userSession = $this->getMock('\OCP\IUserSession');
+ $this->groupMetadata = new \OC\Group\MetaData(
+ 'foo',
+ $this->isAdmin,
+ $this->groupManager,
+ $this->userSession
+ );
}
private function getGroupMock($countCallCount = 0) {
@@ -38,17 +68,15 @@ class Test_MetaData extends \Test\TestCase {
public function testGet() {
- $groupManager = $this->getGroupManagerMock();
- $groupMetaData = new \OC\Group\MetaData('foo', true, $groupManager);
$group = $this->getGroupMock();
$groups = array_fill(0, 3, $group);
- $groupManager->expects($this->once())
+ $this->groupManager->expects($this->once())
->method('search')
->with('')
->will($this->returnValue($groups));
- list($adminGroups, $ordinaryGroups) = $groupMetaData->get();
+ list($adminGroups, $ordinaryGroups) = $this->groupMetadata->get();
$this->assertSame(1, count($adminGroups));
$this->assertSame(2, count($ordinaryGroups));
@@ -59,18 +87,16 @@ class Test_MetaData extends \Test\TestCase {
}
public function testGetWithSorting() {
- $groupManager = $this->getGroupManagerMock();
- $groupMetaData = new \OC\Group\MetaData('foo', true, $groupManager);
- $groupMetaData->setSorting($groupMetaData::SORT_USERCOUNT);
+ $this->groupMetadata->setSorting(1);
$group = $this->getGroupMock(3);
$groups = array_fill(0, 3, $group);
- $groupManager->expects($this->once())
+ $this->groupManager->expects($this->once())
->method('search')
->with('')
->will($this->returnValue($groups));
- list($adminGroups, $ordinaryGroups) = $groupMetaData->get();
+ list($adminGroups, $ordinaryGroups) = $this->groupMetadata->get();
$this->assertSame(1, count($adminGroups));
$this->assertSame(2, count($ordinaryGroups));
@@ -80,23 +106,31 @@ class Test_MetaData extends \Test\TestCase {
}
public function testGetWithCache() {
- $groupManager = $this->getGroupManagerMock();
- $groupMetaData = new \OC\Group\MetaData('foo', true, $groupManager);
$group = $this->getGroupMock();
$groups = array_fill(0, 3, $group);
- $groupManager->expects($this->once())
+ $this->groupManager->expects($this->once())
->method('search')
->with('')
->will($this->returnValue($groups));
//two calls, if caching fails call counts for group and groupmanager
//are exceeded
- $groupMetaData->get();
- $groupMetaData->get();
+ $this->groupMetadata->get();
+ $this->groupMetadata->get();
}
//get() does not need to be tested with search parameters, because they are
//solely and only passed to GroupManager and Group.
+ public function testGetGroupsAsAdmin() {
+ $this->groupManager
+ ->expects($this->once())
+ ->method('search')
+ ->with('Foo')
+ ->will($this->returnValue(['DummyValue']));
+
+ $expected = ['DummyValue'];
+ $this->assertSame($expected, $this->invokePrivate($this->groupMetadata, 'getGroups', ['Foo']));
+ }
}