Add acceptance tests for marking a file as favorite in the details view

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This commit is contained in:
Daniel Calviño Sánchez 2018-11-22 05:25:12 +01:00
parent d0ea4ad8b8
commit 400d42a47a
2 changed files with 80 additions and 0 deletions

View file

@ -262,3 +262,22 @@ Feature: app-files
When I unmark "welcome.txt" as favorite
Then I see that "welcome.txt" is not marked as favorite
And I see that "A name alphabetically lower than welcome.txt" precedes "welcome.txt" in the file list
Scenario: mark a file as favorite in the details view
Given I am logged in
And I open the details view for "welcome.txt"
And I see that the details view is open
When I mark the file as favorite in the details view
Then I see that "welcome.txt" is marked as favorite
And I see that the file is marked as favorite in the details view
Scenario: unmark a file as favorite in the details view
Given I am logged in
And I open the details view for "welcome.txt"
And I see that the details view is open
And I mark the file as favorite in the details view
And I see that "welcome.txt" is marked as favorite
And I see that the file is marked as favorite in the details view
When I unmark the file as favorite in the details view
Then I see that "welcome.txt" is not marked as favorite
And I see that the file is not marked as favorite in the details view

View file

@ -86,6 +86,33 @@ class FilesAppContext implements Context, ActorAwareInterface {
describedAs("File name in details view in Files app");
}
/**
* @return Locator
*/
public static function favoriteActionInFileDetailsInDetailsView() {
return Locator::forThe()->css(".action-favorite")->
descendantOf(self::fileDetailsInDetailsView())->
describedAs("Favorite action in file details in details view in Files app");
}
/**
* @return Locator
*/
public static function notFavoritedStateIconInFileDetailsInDetailsView() {
return Locator::forThe()->css(".icon-star")->
descendantOf(self::favoriteActionInFileDetailsInDetailsView())->
describedAs("Not favorited state icon in file details in details view in Files app");
}
/**
* @return Locator
*/
public static function favoritedStateIconInFileDetailsInDetailsView() {
return Locator::forThe()->css(".icon-starred")->
descendantOf(self::favoriteActionInFileDetailsInDetailsView())->
describedAs("Favorited state icon in file details in details view in Files app");
}
/**
* @return Locator
*/
@ -316,6 +343,24 @@ class FilesAppContext implements Context, ActorAwareInterface {
$this->actor->getSharedNotebook()["shared link"] = $this->actor->find(self::copyUrlMenuItem(), 2)->getWrappedElement()->getAttribute("data-clipboard-text");
}
/**
* @When I mark the file as favorite in the details view
*/
public function iMarkTheFileAsFavoriteInTheDetailsView() {
$this->iSeeThatTheFileIsNotMarkedAsFavoriteInTheDetailsView();
$this->actor->find(self::favoriteActionInFileDetailsInDetailsView(), 10)->click();
}
/**
* @When I unmark the file as favorite in the details view
*/
public function iUnmarkTheFileAsFavoriteInTheDetailsView() {
$this->iSeeThatTheFileIsMarkedAsFavoriteInTheDetailsView();
$this->actor->find(self::favoriteActionInFileDetailsInDetailsView(), 10)->click();
}
/**
* @When I check the tag :tag in the dropdown for tags in the details view
*/
@ -400,6 +445,22 @@ class FilesAppContext implements Context, ActorAwareInterface {
$this->actor->find(self::fileNameInDetailsView(), 10)->getText(), $fileName);
}
/**
* @Then I see that the file is marked as favorite in the details view
*/
public function iSeeThatTheFileIsMarkedAsFavoriteInTheDetailsView() {
PHPUnit_Framework_Assert::assertNotNull(
$this->actor->find(self::favoritedStateIconInFileDetailsInDetailsView(), 10));
}
/**
* @Then I see that the file is not marked as favorite in the details view
*/
public function iSeeThatTheFileIsNotMarkedAsFavoriteInTheDetailsView() {
PHPUnit_Framework_Assert::assertNotNull(
$this->actor->find(self::notFavoritedStateIconInFileDetailsInDetailsView(), 10));
}
/**
* @Then I see that the input field for tags in the details view is shown
*/