summaryrefslogtreecommitdiffstats
path: root/apps/files/tests/Service
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2016-12-04 12:54:34 +0100
committerJoas Schilling <coding@schilljs.com>2016-12-04 12:54:34 +0100
commit1a802d3383053924dc442c5643adce0ff2dcf5aa (patch)
tree312ce897fe48976e504e426acb27c87c453f4c35 /apps/files/tests/Service
parent7c1b288b575955276772f51402d0ea5ab55db540 (diff)
downloadnextcloud-server-1a802d3383053924dc442c5643adce0ff2dcf5aa.tar.gz
nextcloud-server-1a802d3383053924dc442c5643adce0ff2dcf5aa.zip
Add tests for favorite action
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'apps/files/tests/Service')
-rw-r--r--apps/files/tests/Service/TagServiceTest.php63
1 files changed, 55 insertions, 8 deletions
diff --git a/apps/files/tests/Service/TagServiceTest.php b/apps/files/tests/Service/TagServiceTest.php
index b8d36487585..1c4ac2328ec 100644
--- a/apps/files/tests/Service/TagServiceTest.php
+++ b/apps/files/tests/Service/TagServiceTest.php
@@ -24,7 +24,9 @@
*/
namespace OCA\Files\Tests\Service;
+use OC\Tags;
use OCA\Files\Service\TagService;
+use OCP\Activity\IManager;
use OCP\IUserSession;
/**
@@ -41,13 +43,19 @@ class TagServiceTest extends \Test\TestCase {
*/
private $user;
+ /** @var IUserSession|\PHPUnit_Framework_MockObject_MockObject */
+ private $userSession;
+
+ /** @var IManager|\PHPUnit_Framework_MockObject_MockObject */
+ private $activityManager;
+
/**
* @var \OCP\Files\Folder
*/
private $root;
/**
- * @var \OCA\Files\Service\TagService
+ * @var \OCA\Files\Service\TagService|\PHPUnit_Framework_MockObject_MockObject
*/
private $tagService;
@@ -59,6 +67,7 @@ class TagServiceTest extends \Test\TestCase {
protected function setUp() {
parent::setUp();
$this->user = $this->getUniqueID('user');
+ $this->activityManager = $this->createMock(IManager::class);
\OC::$server->getUserManager()->createUser($this->user, 'test');
\OC_User::setUserId($this->user);
\OC_Util::setupFS($this->user);
@@ -67,8 +76,8 @@ class TagServiceTest extends \Test\TestCase {
/**
* @var \OCP\IUserSession
*/
- $userSession = $this->createMock(IUserSession::class);
- $userSession->expects($this->any())
+ $this->userSession = $this->createMock(IUserSession::class);
+ $this->userSession->expects($this->any())
->method('getUser')
->withAnyParameters()
->will($this->returnValue($user));
@@ -76,11 +85,24 @@ class TagServiceTest extends \Test\TestCase {
$this->root = \OC::$server->getUserFolder();
$this->tagger = \OC::$server->getTagManager()->load('files');
- $this->tagService = new TagService(
- $userSession,
- $this->tagger,
- $this->root
- );
+ $this->tagService = $this->getTagService(['addActivity']);
+ }
+
+ /**
+ * @param array $methods
+ * @return TagService|\PHPUnit_Framework_MockObject_MockObject
+ */
+ protected function getTagService(array $methods = []) {
+ return $this->getMockBuilder(TagService::class)
+ ->setConstructorArgs([
+ $this->userSession,
+ $this->activityManager,
+ $this->tagger,
+ $this->root,
+ ])
+ ->setMethods($methods)
+ ->getMock();
+
}
protected function tearDown() {
@@ -93,6 +115,9 @@ class TagServiceTest extends \Test\TestCase {
$tag1 = 'tag1';
$tag2 = 'tag2';
+ $this->tagService->expects($this->never())
+ ->method('addActivity');
+
$subdir = $this->root->newFolder('subdir');
$testFile = $subdir->newFile('test.txt');
$testFile->putContent('test contents');
@@ -126,5 +151,27 @@ class TagServiceTest extends \Test\TestCase {
$subdir->delete();
}
+
+ public function testFavoriteActivity() {
+
+ $subdir = $this->root->newFolder('subdir');
+ $file = $subdir->newFile('test.txt');
+
+ $this->tagService->expects($this->exactly(2))
+ ->method('addActivity')
+ ->withConsecutive(
+ [true, $file->getId(), 'subdir/test.txt'],
+ [false, $file->getId(), 'subdir/test.txt']
+ );
+
+ // set tags
+ $this->tagService->updateFileTags('subdir/test.txt', [Tags::TAG_FAVORITE]);
+
+ // remove tag
+ $this->tagService->updateFileTags('subdir/test.txt', []);
+
+
+ $subdir->delete();
+ }
}