diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2017-11-01 15:37:29 +0100 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2017-11-01 15:37:29 +0100 |
commit | e2805f02aa51c602c581bd4f09b99dd791a42df4 (patch) | |
tree | 4ea194f47aa315874c2aac31c30dbdb14110539b /tests/acceptance | |
parent | 2b4b3b1986e58305c08941f77a693a80cc3d5b85 (diff) | |
parent | 52b679a2d6f6b273f46334b15534ab312f974a1a (diff) | |
download | nextcloud-server-e2805f02aa51c602c581bd4f09b99dd791a42df4.tar.gz nextcloud-server-e2805f02aa51c602c581bd4f09b99dd791a42df4.zip |
Merge branch 'master' into autocomplete-gui
Diffstat (limited to 'tests/acceptance')
-rw-r--r-- | tests/acceptance/features/app-files.feature | 16 | ||||
-rw-r--r-- | tests/acceptance/features/bootstrap/FilesAppContext.php | 48 | ||||
-rwxr-xr-x | tests/acceptance/run.sh | 2 |
3 files changed, 58 insertions, 8 deletions
diff --git a/tests/acceptance/features/app-files.feature b/tests/acceptance/features/app-files.feature index 37e01bcada2..ac2d05fac2c 100644 --- a/tests/acceptance/features/app-files.feature +++ b/tests/acceptance/features/app-files.feature @@ -145,6 +145,14 @@ Feature: app-files Given I am logged in And I create a new folder named "A name alphabetically lower than welcome.txt" And I see that "A name alphabetically lower than welcome.txt" precedes "welcome.txt" in the file list + # To mark the file as favorite the file actions menu has to be shown but, as + # the details view is opened automatically when the folder is created, + # clicking on the menu trigger could fail if it is covered by the details + # view due to its opening animation. Instead of ensuring that the animations + # of the contents and the details view have both finished it is easier to + # close the details view and wait until it is closed before continuing. + And I close the details view + And I see that the details view is closed When I mark "welcome.txt" as favorite Then I see that "welcome.txt" is marked as favorite And I see that "welcome.txt" precedes "A name alphabetically lower than welcome.txt" in the file list @@ -153,6 +161,14 @@ Feature: app-files Given I am logged in And I create a new folder named "A name alphabetically lower than welcome.txt" And I see that "A name alphabetically lower than welcome.txt" precedes "welcome.txt" in the file list + # To mark the file as favorite the file actions menu has to be shown but, as + # the details view is opened automatically when the folder is created, + # clicking on the menu trigger could fail if it is covered by the details + # view due to its opening animation. Instead of ensuring that the animations + # of the contents and the details view have both finished it is easier to + # close the details view and wait until it is closed before continuing. + And I close the details view + And I see that the details view is closed And I mark "welcome.txt" as favorite And I see that "welcome.txt" is marked as favorite And I see that "welcome.txt" precedes "A name alphabetically lower than welcome.txt" in the file list diff --git a/tests/acceptance/features/bootstrap/FilesAppContext.php b/tests/acceptance/features/bootstrap/FilesAppContext.php index bb088c0a2c3..338823a9478 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 closeDetailsViewButton() { + return Locator::forThe()->css(".icon-close")-> + descendantOf(self::currentSectionDetailsView())-> + describedAs("Close 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())-> @@ -278,16 +287,16 @@ class FilesAppContext implements Context, ActorAwareInterface { /** * @return Locator */ - public static function favoriteActionForFile($fileName) { - return Locator::forThe()->css(".action-favorite")->descendantOf(self::rowForFile($fileName))-> - describedAs("Favorite action for file $fileName in Files app"); + public static function favoriteMarkForFile($fileName) { + return Locator::forThe()->css(".favorite-mark")->descendantOf(self::rowForFile($fileName))-> + describedAs("Favorite mark for file $fileName in Files app"); } /** * @return Locator */ public static function notFavoritedStateIconForFile($fileName) { - return Locator::forThe()->css(".icon-star")->descendantOf(self::favoriteActionForFile($fileName))-> + return Locator::forThe()->css(".icon-star")->descendantOf(self::favoriteMarkForFile($fileName))-> describedAs("Not favorited state icon for file $fileName in Files app"); } @@ -295,7 +304,7 @@ class FilesAppContext implements Context, ActorAwareInterface { * @return Locator */ public static function favoritedStateIconForFile($fileName) { - return Locator::forThe()->css(".icon-starred")->descendantOf(self::favoriteActionForFile($fileName))-> + return Locator::forThe()->css(".icon-starred")->descendantOf(self::favoriteMarkForFile($fileName))-> describedAs("Favorited state icon for file $fileName in Files app"); } @@ -341,6 +350,20 @@ class FilesAppContext implements Context, ActorAwareInterface { /** * @return Locator */ + public static function addToFavoritesMenuItem() { + return self::fileActionsMenuItemFor("Add to favorites"); + } + + /** + * @return Locator + */ + public static function removeFromFavoritesMenuItem() { + return self::fileActionsMenuItemFor("Remove from favorites"); + } + + /** + * @return Locator + */ public static function viewFileInFolderMenuItem() { return self::fileActionsMenuItemFor("View in folder"); } @@ -374,6 +397,13 @@ class FilesAppContext implements Context, ActorAwareInterface { } /** + * @Given I close the details view + */ + public function iCloseTheDetailsView() { + $this->actor->find(self::closeDetailsViewButton(), 10)->click(); + } + + /** * @Given I open the input field for tags in the details view */ public function iOpenTheInputFieldForTagsInTheDetailsView() { @@ -393,7 +423,9 @@ class FilesAppContext implements Context, ActorAwareInterface { public function iMarkAsFavorite($fileName) { $this->iSeeThatIsNotMarkedAsFavorite($fileName); - $this->actor->find(self::favoriteActionForFile($fileName), 10)->click(); + $this->actor->find(self::fileActionsMenuButtonForFile($fileName), 10)->click(); + + $this->actor->find(self::addToFavoritesMenuItem(), 2)->click(); } /** @@ -402,7 +434,9 @@ class FilesAppContext implements Context, ActorAwareInterface { public function iUnmarkAsFavorite($fileName) { $this->iSeeThatIsMarkedAsFavorite($fileName); - $this->actor->find(self::favoriteActionForFile($fileName), 10)->click(); + $this->actor->find(self::fileActionsMenuButtonForFile($fileName), 10)->click(); + + $this->actor->find(self::removeFromFavoritesMenuItem(), 2)->click(); } /** diff --git a/tests/acceptance/run.sh b/tests/acceptance/run.sh index 1b68f8655ae..89fdda02630 100755 --- a/tests/acceptance/run.sh +++ b/tests/acceptance/run.sh @@ -138,7 +138,7 @@ function prepareDocker() { # Selenium server. # The container exits immediately if no command is given, so a Bash session # is created to prevent that. - docker run --detach --name=$NEXTCLOUD_LOCAL_CONTAINER --network=container:$SELENIUM_CONTAINER --interactive --tty nextcloudci/php7.0:php7.0-7 bash + docker run --detach --name=$NEXTCLOUD_LOCAL_CONTAINER --network=container:$SELENIUM_CONTAINER --interactive --tty nextcloudci/php7.1:php7.1-15 bash # Use the $TMPDIR or, if not set, fall back to /tmp. NEXTCLOUD_LOCAL_TAR="$($MKTEMP --tmpdir="${TMPDIR:-/tmp}" --suffix=.tar nextcloud-local-XXXXXXXXXX)" |