Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix unread comment icon not shown for the sharee #12897

Merged
merged 2 commits into from
Dec 7, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -112,11 +112,11 @@ public function handleGetProperties(
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);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

}
}
});
Expand Down
186 changes: 186 additions & 0 deletions tests/acceptance/features/app-comments.feature
Original file line number Diff line number Diff line change
Expand Up @@ -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 changes: 23 additions & 0 deletions tests/acceptance/features/bootstrap/FileListContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,15 @@ public static function renameInputForFile($fileListAncestor, $fileName) {
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
*/
Expand Down Expand Up @@ -347,6 +356,13 @@ public function iDelete($fileName) {
$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
*/
Expand Down Expand Up @@ -396,4 +412,11 @@ public function iSeeThatIsNotMarkedAsFavorite($fileName) {
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());
}

}