Add acceptance test for renaming a file with the details view open

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This commit is contained in:
Daniel Calviño Sánchez 2018-01-11 04:30:52 +01:00
parent f29c1cf13a
commit dab4a70bcf
2 changed files with 57 additions and 0 deletions

View file

@ -23,6 +23,13 @@ Feature: app-files
When I open the details view for "welcome.txt"
Then I see that the details view for "All files" section is open
Scenario: rename a file with the details view open
Given I am logged in
And I open the details view for "welcome.txt"
When I rename "welcome.txt" to "farewell.txt"
Then I see that the file list contains a file named "farewell.txt"
And I see that the file name shown in the details view is "farewell.txt"
Scenario: open the menu in a public shared link
Given I act as John
And I am logged in

View file

@ -86,6 +86,15 @@ class FilesAppContext implements Context, ActorAwareInterface {
describedAs("Close current section details view in Files app");
}
/**
* @return Locator
*/
public static function fileNameInCurrentSectionDetailsView() {
return Locator::forThe()->css(".fileName")->
descendantOf(self::currentSectionDetailsView())->
describedAs("File name in current section details view in Files app");
}
/**
* @return Locator
*/
@ -316,6 +325,14 @@ class FilesAppContext implements Context, ActorAwareInterface {
describedAs("Main link for file $fileName in Files app");
}
/**
* @return Locator
*/
public static function renameInputForFile($fileName) {
return Locator::forThe()->css("input.filename")->descendantOf(self::rowForFile($fileName))->
describedAs("Rename input for file $fileName in Files app");
}
/**
* @return Locator
*/
@ -347,6 +364,13 @@ class FilesAppContext implements Context, ActorAwareInterface {
return self::fileActionsMenuItemFor("Details");
}
/**
* @return Locator
*/
public static function renameMenuItem() {
return self::fileActionsMenuItemFor("Rename");
}
/**
* @return Locator
*/
@ -417,6 +441,17 @@ class FilesAppContext implements Context, ActorAwareInterface {
$this->actor->find(self::tabHeaderInCurrentSectionDetailsViewNamed($tabName), 10)->click();
}
/**
* @Given I rename :fileName1 to :fileName2
*/
public function iRenameTo($fileName1, $fileName2) {
$this->actor->find(self::fileActionsMenuButtonForFile($fileName1), 10)->click();
$this->actor->find(self::renameMenuItem(), 2)->click();
$this->actor->find(self::renameInputForFile($fileName1), 10)->setValue($fileName2 . "\r");
}
/**
* @Given I mark :fileName as favorite
*/
@ -542,6 +577,13 @@ class FilesAppContext implements Context, ActorAwareInterface {
}
}
/**
* @Then I see that the file list contains a file named :fileName
*/
public function iSeeThatTheFileListContainsAFileNamed($fileName) {
PHPUnit_Framework_Assert::assertNotNull($this->actor->find(self::rowForFile($fileName), 10));
}
/**
* @Then I see that :fileName1 precedes :fileName2 in the file list
*/
@ -563,6 +605,14 @@ class FilesAppContext implements Context, ActorAwareInterface {
PHPUnit_Framework_Assert::assertNotNull($this->actor->find(self::notFavoritedStateIconForFile($fileName), 10));
}
/**
* @Then I see that the file name shown in the details view is :fileName
*/
public function iSeeThatTheFileNameShownInTheDetailsViewIs($fileName) {
PHPUnit_Framework_Assert::assertEquals(
$this->actor->find(self::fileNameInCurrentSectionDetailsView(), 10)->getText(), $fileName);
}
/**
* @Then I see that the input field for tags in the details view is shown
*/