From ae4aa4134d5a9c4e5fedb27636662d3377d23d74 Mon Sep 17 00:00:00 2001 From: Piotr M Date: Wed, 29 Mar 2017 13:19:37 +0200 Subject: [PATCH] Fix problem with 0 comments --- .../Sabre/CommentPropertiesPlugin.php | 2 ++ .../Sabre/CommentsPropertiesPluginTest.php | 29 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php b/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php index 32b914a22b..0910d5378c 100644 --- a/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php +++ b/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php @@ -179,6 +179,8 @@ class CommentPropertiesPlugin extends ServerPlugin { [$node->getId()], $user); + // Initialize with 0 as in prefetch phase in handleGetProperties + $numberOfCommentsForNode = 0; if (isset($numberOfCommentsForNodes[$node->getId()])) { $numberOfCommentsForNode = $numberOfCommentsForNodes[$node->getId()]; } diff --git a/apps/dav/tests/unit/Connector/Sabre/CommentsPropertiesPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/CommentsPropertiesPluginTest.php index c201ddb0cd..54d9f967fb 100644 --- a/apps/dav/tests/unit/Connector/Sabre/CommentsPropertiesPluginTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/CommentsPropertiesPluginTest.php @@ -304,4 +304,33 @@ class CommentsPropertiesPluginTest extends \Test\TestCase { } } + /** + * @dataProvider userProvider + * @param $user + */ + public function testGetUnreadCountWithZeroUnread($user) { + $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\File') + ->disableOriginalConstructor() + ->getMock(); + $node->expects($this->any()) + ->method('getId') + ->will($this->returnValue('4567')); + + $this->userSession->expects($this->once()) + ->method('getUser') + ->will($this->returnValue($user)); + + $numberOfCommentsForNodes = []; + $this->commentsManager->expects($this->any()) + ->method('getNumberOfUnreadCommentsForNodes') + ->willReturn($numberOfCommentsForNodes); + + $unread = $this->plugin->getUnreadCount($node); + if(is_null($user)) { + $this->assertNull($unread); + } else { + $this->assertSame($unread, 0); + } + } + } -- GitLab