summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Calviño Sánchez <danxuliu@gmail.com>2018-01-11 04:30:52 +0100
committerDaniel Calviño Sánchez <danxuliu@gmail.com>2018-01-11 13:30:04 +0100
commita2ae7a52e9795c9961aaca2e1617bdce9f1e482d (patch)
tree6b070cf50f7b92ea0a7e7280289ab1290ddda8ca
parent217b711dbb01500377d734e44d1e0cd5be25e500 (diff)
downloadnextcloud-server-a2ae7a52e9795c9961aaca2e1617bdce9f1e482d.tar.gz
nextcloud-server-a2ae7a52e9795c9961aaca2e1617bdce9f1e482d.zip
Add acceptance test for renaming a file with the details view open
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
-rw-r--r--tests/acceptance/features/app-files.feature7
-rw-r--r--tests/acceptance/features/bootstrap/FilesAppContext.php50
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() {