diff options
author | Vincent Petry <pvince81@owncloud.com> | 2016-05-25 18:26:32 +0300 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2016-05-25 18:26:32 +0300 |
commit | fa5fd68d751322c4281a991c0c2afa81a874afac (patch) | |
tree | fad8374ef5ab79e786db9c72f69524e49248a86e /apps/dav/tests/unit/Comments/EntityTypeCollectionTest.php | |
parent | 379f8a1e4538a76d4b9bbc4adf0ebe7b12b1d104 (diff) | |
parent | 5882e21b3bff0afe2152eb3971d674bdb91e45a2 (diff) |
Merge pull request #24844 from owncloud/dav-test-psr4
Move DAV Tests to PSR-4
Diffstat (limited to 'apps/dav/tests/unit/Comments/EntityTypeCollectionTest.php')
-rw-r--r-- | apps/dav/tests/unit/Comments/EntityTypeCollectionTest.php | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/apps/dav/tests/unit/Comments/EntityTypeCollectionTest.php b/apps/dav/tests/unit/Comments/EntityTypeCollectionTest.php new file mode 100644 index 00000000000..51db44380fa --- /dev/null +++ b/apps/dav/tests/unit/Comments/EntityTypeCollectionTest.php @@ -0,0 +1,92 @@ +<?php +/** + * @author Arthur Schiwon <blizzz@owncloud.com> + * + * @copyright Copyright (c) 2016, 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 OCA\DAV\Tests\unit\Comments; + +use OCA\DAV\Comments\EntityCollection as EntityCollectionImplemantation; + +class EntityTypeCollectionTest extends \Test\TestCase { + + /** @var \OCP\Comments\ICommentsManager|\PHPUnit_Framework_MockObject_MockObject */ + protected $commentsManager; + /** @var \OCP\IUserManager|\PHPUnit_Framework_MockObject_MockObject */ + protected $userManager; + /** @var \OCP\ILogger|\PHPUnit_Framework_MockObject_MockObject */ + protected $logger; + /** @var \OCA\DAV\Comments\EntityTypeCollection */ + protected $collection; + /** @var \OCP\IUserSession|\PHPUnit_Framework_MockObject_MockObject */ + protected $userSession; + + protected $childMap = []; + + public function setUp() { + parent::setUp(); + + $this->commentsManager = $this->getMock('\OCP\Comments\ICommentsManager'); + $this->userManager = $this->getMock('\OCP\IUserManager'); + $this->userSession = $this->getMock('\OCP\IUserSession'); + $this->logger = $this->getMock('\OCP\ILogger'); + + $instance = $this; + + $this->collection = new \OCA\DAV\Comments\EntityTypeCollection( + 'files', + $this->commentsManager, + $this->userManager, + $this->userSession, + $this->logger, + function ($child) use ($instance) { + return !empty($instance->childMap[$child]); + } + ); + } + + public function testChildExistsYes() { + $this->childMap[17] = true; + $this->assertTrue($this->collection->childExists('17')); + } + + public function testChildExistsNo() { + $this->assertFalse($this->collection->childExists('17')); + } + + public function testGetChild() { + $this->childMap[17] = true; + + $ec = $this->collection->getChild('17'); + $this->assertTrue($ec instanceof EntityCollectionImplemantation); + } + + /** + * @expectedException \Sabre\DAV\Exception\NotFound + */ + public function testGetChildException() { + $this->collection->getChild('17'); + } + + /** + * @expectedException \Sabre\DAV\Exception\MethodNotAllowed + */ + public function testGetChildren() { + $this->collection->getChildren(); + } +} |