diff options
author | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2018-12-21 22:14:38 +0300 |
---|---|---|
committer | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2018-12-21 22:14:38 +0300 |
commit | 4566670fa38c64fff020fe012e2bd33254f55b07 (patch) | |
tree | ea30447f71ab168f21a2f69e50b07efaa9820176 /tests/acceptance | |
parent | 1a887aaad006bdfc7f58f05756f0089292ebb8f0 (diff) |
Add acceptance tests for opening search results for comments
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Diffstat (limited to 'tests/acceptance')
-rw-r--r-- | tests/acceptance/features/app-comments.feature | 56 | ||||
-rw-r--r-- | tests/acceptance/features/bootstrap/FileListContext.php | 19 | ||||
-rw-r--r-- | tests/acceptance/features/bootstrap/SearchContext.php | 16 |
3 files changed, 91 insertions, 0 deletions
diff --git a/tests/acceptance/features/app-comments.feature b/tests/acceptance/features/app-comments.feature index 8d188436f2b..ee60ece1cec 100644 --- a/tests/acceptance/features/app-comments.feature +++ b/tests/acceptance/features/app-comments.feature @@ -267,3 +267,59 @@ Feature: app-comments # Search results for comments also include the user that wrote the comment. Then I see that the search result 1 is "user0Hello world" And I see that the search result 1 was found in "shared.txt" + + Scenario: open a search result for a comment in a file + Given I am logged in + And I open the details view for "welcome.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 + # Force the details view to change to a different file before closing it + And I create a new folder named "Folder" + And I close the details view + When I search for "hello" + And I open the search result 1 + Then I see that the details view is open + And I see that the file name shown in the details view is "welcome.txt" + And I see a comment with "Hello world" as message + And I see that the file list is currently in "Home" + And I see that the file list contains a file named "welcome.txt" + + Scenario: open a search result for a comment in a folder named like its child folder + Given I am logged in + And I create a new folder named "Folder" + 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 + And I enter in the folder named "Folder" + And I create a new folder named "Folder" + # The Files app is open again to reload the file list + And I open the Files app + When I search for "hello" + And I open the search result 1 + Then I see that the details view is open + And I see that the file name shown in the details view is "Folder" + And I see a comment with "Hello world" as message + And I see that the file list is currently in "Home" + And I see that the file list contains a file named "welcome.txt" + And I see that the file list contains a file named "Folder" + + Scenario: open a search result for a comment in a child folder + Given I am logged in + And I create a new folder named "Folder" + And I enter in the folder named "Folder" + And I create a new folder named "Child folder" + And I open the details view for "Child 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 + # The Files app is open again to reload the file list + And I open the Files app + When I search for "hello" + And I open the search result 1 + Then I see that the details view is open + And I see that the file name shown in the details view is "Child folder" + And I see a comment with "Hello world" as message + And I see that the file list is currently in "Home/Folder" + And I see that the file list contains a file named "Child folder" diff --git a/tests/acceptance/features/bootstrap/FileListContext.php b/tests/acceptance/features/bootstrap/FileListContext.php index 90d2aeebdc5..ee35de40c5e 100644 --- a/tests/acceptance/features/bootstrap/FileListContext.php +++ b/tests/acceptance/features/bootstrap/FileListContext.php @@ -90,6 +90,15 @@ class FileListContext implements Context, ActorAwareInterface { /** * @return Locator */ + public static function breadcrumbs($fileListAncestor) { + return Locator::forThe()->css("#controls .breadcrumb")-> + descendantOf($fileListAncestor)-> + describedAs("Breadcrumbs in file list"); + } + + /** + * @return Locator + */ public static function createMenuButton($fileListAncestor) { return Locator::forThe()->css("#controls .button.new")-> descendantOf($fileListAncestor)-> @@ -376,6 +385,16 @@ class FileListContext implements Context, ActorAwareInterface { } /** + * @Then I see that the file list is currently in :path + */ + public function iSeeThatTheFileListIsCurrentlyIn($path) { + // The text of the breadcrumbs is the text of all the crumbs separated + // by white spaces. + PHPUnit_Framework_Assert::assertEquals( + str_replace('/', ' ', $path), $this->actor->find(self::breadcrumbs($this->fileListAncestor), 10)->getText()); + } + + /** * @Then I see that it is not possible to create new files */ public function iSeeThatItIsNotPossibleToCreateNewFiles() { diff --git a/tests/acceptance/features/bootstrap/SearchContext.php b/tests/acceptance/features/bootstrap/SearchContext.php index 36331606883..d2d6b708067 100644 --- a/tests/acceptance/features/bootstrap/SearchContext.php +++ b/tests/acceptance/features/bootstrap/SearchContext.php @@ -74,6 +74,15 @@ class SearchContext implements Context, ActorAwareInterface { } /** + * @return Locator + */ + public static function searchResultLink($number) { + return Locator::forThe()->css(".link")-> + descendantOf(self::searchResult($number))-> + describedAs("Link for search result $number"); + } + + /** * @When I search for :query */ public function iSearchFor($query) { @@ -81,6 +90,13 @@ class SearchContext implements Context, ActorAwareInterface { } /** + * @When I open the search result :number + */ + public function iOpenTheSearchResult($number) { + $this->actor->find(self::searchResultLink($number), 10)->click(); + } + + /** * @Then I see that the search result :number is :name */ public function iSeeThatTheSearchResultIs($number, $name) { |