Skip to content
Snippets Groups Projects
Commit 4566670f authored by Daniel Calviño Sánchez's avatar Daniel Calviño Sánchez
Browse files

Add acceptance tests for opening search results for comments

parent 1a887aaa
No related branches found
No related tags found
Loading
...@@ -267,3 +267,59 @@ Feature: app-comments ...@@ -267,3 +267,59 @@ Feature: app-comments
# Search results for comments also include the user that wrote the comment. # Search results for comments also include the user that wrote the comment.
Then I see that the search result 1 is "user0Hello world" Then I see that the search result 1 is "user0Hello world"
And I see that the search result 1 was found in "shared.txt" 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"
...@@ -87,6 +87,15 @@ class FileListContext implements Context, ActorAwareInterface { ...@@ -87,6 +87,15 @@ class FileListContext implements Context, ActorAwareInterface {
describedAs("Main working icon in file list"); describedAs("Main working icon in file list");
} }
/**
* @return Locator
*/
public static function breadcrumbs($fileListAncestor) {
return Locator::forThe()->css("#controls .breadcrumb")->
descendantOf($fileListAncestor)->
describedAs("Breadcrumbs in file list");
}
/** /**
* @return Locator * @return Locator
*/ */
...@@ -375,6 +384,16 @@ class FileListContext implements Context, ActorAwareInterface { ...@@ -375,6 +384,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 * @Then I see that it is not possible to create new files
*/ */
......
...@@ -73,6 +73,15 @@ class SearchContext implements Context, ActorAwareInterface { ...@@ -73,6 +73,15 @@ class SearchContext implements Context, ActorAwareInterface {
describedAs("Path for search result $number"); describedAs("Path for search result $number");
} }
/**
* @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 * @When I search for :query
*/ */
...@@ -80,6 +89,13 @@ class SearchContext implements Context, ActorAwareInterface { ...@@ -80,6 +89,13 @@ class SearchContext implements Context, ActorAwareInterface {
$this->actor->find(self::searchBoxInput(), 10)->setValue($query . "\r"); $this->actor->find(self::searchBoxInput(), 10)->setValue($query . "\r");
} }
/**
* @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 * @Then I see that the search result :number is :name
*/ */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment