Browse Source

Merge pull request #12897 from nextcloud/fix-unread-comment-icon-not-shown-for-the-sharee

Fix unread comment icon not shown for the sharee
tags/v16.0.0alpha1
Roeland Jago Douma 5 years ago
parent
commit
cfcce69272
No account linked to committer's email address

+ 3
- 3
apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php View File

@@ -112,11 +112,11 @@ class CommentPropertiesPlugin extends ServerPlugin {
if ($parentPath === '') {
$parentPath = '/';
}
// if we already cached the folder this file is in we know there are no shares for this file
// if we already cached the folder this file is in we know there are no comments for this file
if (array_search($parentPath, $this->cachedFolders) === false) {
return $this->getUnreadCount($node);
} else {
return 0;
} else {
return $this->getUnreadCount($node);
}
}
});

+ 186
- 0
tests/acceptance/features/app-comments.feature View File

@@ -30,3 +30,189 @@ Feature: app-comments
When I create a new comment with "Comment in welcome.txt" as message
Then I see a comment with "Comment in welcome.txt" as message
And I see that there is no comment with "Comment in Folder" as message



Scenario: read a comment written by the sharer
Given I act as John
And I am logged in as the admin
And I act as Jane
And I am logged in
And I act as John
And I rename "welcome.txt" to "shared.txt"
And I share "shared.txt" with "user0"
And I see that the file is shared with "user0"
# The details view should already be open
And I open the "Comments" tab in the details view
And I create a new comment with "Hello world" as message
And I see a comment with "Hello world" as message
When I act as Jane
# The Files app is open again to reload the file list and the comments
And I open the Files app
And I open the details view for "shared.txt"
And I open the "Comments" tab in the details view
Then I see a comment with "Hello world" as message

Scenario: read a comment written by the sharee
Given I act as John
And I am logged in as the admin
And I act as Jane
And I am logged in
And I act as John
And I rename "welcome.txt" to "shared.txt"
And I share "shared.txt" with "user0"
And I see that the file is shared with "user0"
And I act as Jane
# The Files app is open again to reload the file list
And I open the Files app
And I open the details view for "shared.txt"
And I open the "Comments" tab in the details view
And I create a new comment with "Hello world" as message
And I see a comment with "Hello world" as message
When I act as John
# The Files app is open again to reload the file list and the comments
And I open the Files app
And I open the details view for "shared.txt"
And I open the "Comments" tab in the details view
Then I see a comment with "Hello world" as message



Scenario: unread comment icon shown for comment written by the sharer in a shared file
Given I act as John
And I am logged in as the admin
And I act as Jane
And I am logged in
And I act as John
And I rename "welcome.txt" to "shared.txt"
And I share "shared.txt" with "user0"
And I see that the file is shared with "user0"
# The details view should already be open
And I open the "Comments" tab in the details view
And I create a new comment with "Hello world" as message
And I see a comment with "Hello world" as message
When I act as Jane
# The Files app is open again to reload the file list and the comments
And I open the Files app
Then I see that "shared.txt" has unread comments
And I open the unread comments for "shared.txt"
And I see that the details view is open
And I see a comment with "Hello world" as message

Scenario: unread comment icon shown for comment written by the sharee in a shared file
Given I act as John
And I am logged in as the admin
And I act as Jane
And I am logged in
And I act as John
And I rename "welcome.txt" to "shared.txt"
And I share "shared.txt" with "user0"
And I see that the file is shared with "user0"
And I act as Jane
# The Files app is open again to reload the file list
And I open the Files app
And I open the details view for "shared.txt"
And I open the "Comments" tab in the details view
And I create a new comment with "Hello world" as message
And I see a comment with "Hello world" as message
When I act as John
# The Files app is open again to reload the file list and the comments
And I open the Files app
Then I see that "shared.txt" has unread comments
And I open the unread comments for "shared.txt"
And I see that the details view is open
And I see a comment with "Hello world" as message

Scenario: unread comment icon shown for comment written by the sharer in a shared folder
Given I act as John
And I am logged in as the admin
And I act as Jane
And I am logged in
And I act as John
And I create a new folder named "Folder"
And I share "Folder" with "user0"
And I see that the file is shared with "user0"
# The details view should already be open
And I open the "Comments" tab in the details view
And I create a new comment with "Hello world" as message
And I see a comment with "Hello world" as message
When I act as Jane
# The Files app is open again to reload the file list and the comments
And I open the Files app
Then I see that "Folder" has unread comments
And I open the unread comments for "Folder"
And I see that the details view is open
And I see a comment with "Hello world" as message

Scenario: unread comment icon shown for comment written by the sharee in a shared folder
Given I act as John
And I am logged in as the admin
And I act as Jane
And I am logged in
And I act as John
And I create a new folder named "Folder"
And I share "Folder" with "user0"
And I see that the file is shared with "user0"
And I act as Jane
# The Files app is open again to reload the file list
And I open the Files app
And I open the details view for "Folder"
And I open the "Comments" tab in the details view
And I create a new comment with "Hello world" as message
And I see a comment with "Hello world" as message
When I act as John
# The Files app is open again to reload the file list and the comments
And I open the Files app
Then I see that "Folder" has unread comments
And I open the unread comments for "Folder"
And I see that the details view is open
And I see a comment with "Hello world" as message

Scenario: unread comment icon shown for comment written by the sharer in a child folder of a shared folder
Given I act as John
And I am logged in as the admin
And I act as Jane
And I am logged in
And I act as John
And I create a new folder named "Folder"
And I share "Folder" with "user0"
And I see that the file is shared with "user0"
And I enter in the folder named "Folder"
And I create a new folder named "Child folder"
# The details view should already be open
And I open the "Comments" tab in the details view
And I create a new comment with "Hello world" as message
And I see a comment with "Hello world" as message
When I act as Jane
# The Files app is open again to reload the file list and the comments
And I open the Files app
And I enter in the folder named "Folder"
Then I see that "Child folder" has unread comments
And I open the unread comments for "Child folder"
And I see that the details view is open
And I see a comment with "Hello world" as message

Scenario: unread comment icon shown for comment written by the sharee in a child folder of a shared folder
Given I act as John
And I am logged in as the admin
And I act as Jane
And I am logged in
And I act as John
And I create a new folder named "Folder"
And I share "Folder" with "user0"
And I see that the file is shared with "user0"
And I act as Jane
# The Files app is open again to reload the file list
And I open the Files app
And I enter in the folder named "Folder"
And I create a new folder named "Child folder"
# The details view should already be open
And I open the "Comments" tab in the details view
And I create a new comment with "Hello world" as message
And I see a comment with "Hello world" as message
When I act as John
And I enter in the folder named "Folder"
Then I see that "Child folder" has unread comments
And I open the unread comments for "Child folder"
And I see that the details view is open
And I see a comment with "Hello world" as message

+ 23
- 0
tests/acceptance/features/bootstrap/FileListContext.php View File

@@ -184,6 +184,15 @@ class FileListContext implements Context, ActorAwareInterface {
describedAs("Rename input for file $fileName in file list");
}

/**
* @return Locator
*/
public static function commentActionForFile($fileListAncestor, $fileName) {
return Locator::forThe()->css(".action-comment")->
descendantOf(self::rowForFile($fileListAncestor, $fileName))->
describedAs("Comment action for file $fileName in file list");
}

/**
* @return Locator
*/
@@ -347,6 +356,13 @@ class FileListContext implements Context, ActorAwareInterface {
$this->actor->find(self::deleteMenuItem(), 2)->click();
}

/**
* @When I open the unread comments for :fileName
*/
public function iOpenTheUnreadCommentsFor($fileName) {
$this->actor->find(self::commentActionForFile($this->fileListAncestor, $fileName), 10)->click();
}

/**
* @Then I see that the file list is eventually loaded
*/
@@ -396,4 +412,11 @@ class FileListContext implements Context, ActorAwareInterface {
PHPUnit_Framework_Assert::assertNotNull($this->actor->find(self::notFavoritedStateIconForFile($this->fileListAncestor, $fileName), 10));
}

/**
* @Then I see that :fileName has unread comments
*/
public function iSeeThatHasUnreadComments($fileName) {
PHPUnit_Framework_Assert::assertTrue($this->actor->find(self::commentActionForFile($this->fileListAncestor, $fileName), 10)->isVisible());
}

}

Loading…
Cancel
Save