diff options
author | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2018-01-11 06:30:52 +0300 |
---|---|---|
committer | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2018-01-11 15:30:04 +0300 |
commit | a2ae7a52e9795c9961aaca2e1617bdce9f1e482d (patch) | |
tree | 6b070cf50f7b92ea0a7e7280289ab1290ddda8ca /tests/acceptance | |
parent | 217b711dbb01500377d734e44d1e0cd5be25e500 (diff) |
Add acceptance test for renaming a file with the details view open
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Diffstat (limited to 'tests/acceptance')
-rw-r--r-- | tests/acceptance/features/app-files.feature | 7 | ||||
-rw-r--r-- | tests/acceptance/features/bootstrap/FilesAppContext.php | 50 |
2 files changed, 57 insertions, 0 deletions
diff --git a/tests/acceptance/features/app-files.feature b/tests/acceptance/features/app-files.feature index 5a0a0095512..0f7c0c532e8 100644 --- a/tests/acceptance/features/app-files.feature +++ b/tests/acceptance/features/app-files.feature @@ -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: set a password to a shared link Given I am logged in And I share the link for "welcome.txt" diff --git a/tests/acceptance/features/bootstrap/FilesAppContext.php b/tests/acceptance/features/bootstrap/FilesAppContext.php index 060e958e0e6..76921ba7383 100644 --- a/tests/acceptance/features/bootstrap/FilesAppContext.php +++ b/tests/acceptance/features/bootstrap/FilesAppContext.php @@ -80,6 +80,15 @@ class FilesAppContext implements Context, ActorAwareInterface { /** * @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 + */ public static function fileDetailsInCurrentSectionDetailsViewWithText($fileDetailsText) { return Locator::forThe()->xpath("//span[normalize-space() = '$fileDetailsText']")-> descendantOf(self::fileDetailsInCurrentSectionDetailsView())-> @@ -259,6 +268,14 @@ class FilesAppContext implements Context, ActorAwareInterface { /** * @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 + */ public static function shareActionForFile($fileName) { return Locator::forThe()->css(".action-share")->descendantOf(self::rowForFile($fileName))-> describedAs("Share action for file $fileName in Files app"); @@ -290,6 +307,13 @@ class FilesAppContext implements Context, ActorAwareInterface { /** * @return Locator */ + public static function renameMenuItem() { + return self::fileActionsMenuItemFor("Rename"); + } + + /** + * @return Locator + */ public static function viewFileInFolderMenuItem() { return self::fileActionsMenuItemFor("View in folder"); } @@ -327,6 +351,17 @@ class FilesAppContext implements Context, ActorAwareInterface { } /** + * @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 */ public function iMarkAsFavorite($fileName) { @@ -437,6 +472,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 :fileName is marked as favorite */ public function iSeeThatIsMarkedAsFavorite($fileName) { @@ -444,6 +486,14 @@ class FilesAppContext implements Context, ActorAwareInterface { } /** + * @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 */ public function iSeeThatTheInputFieldForTagsInTheDetailsViewIsShown() { |