]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add acceptance tests for marking a file as favorite in the details view
authorDaniel Calviño Sánchez <danxuliu@gmail.com>
Thu, 22 Nov 2018 04:25:12 +0000 (05:25 +0100)
committerDaniel Calviño Sánchez <danxuliu@gmail.com>
Thu, 22 Nov 2018 16:43:58 +0000 (17:43 +0100)
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
tests/acceptance/features/app-files.feature
tests/acceptance/features/bootstrap/FilesAppContext.php

index 74490180ad35c762f76f8547c2ebce3042a8113e..c37c5054eaa5dc83c607f0e8c263e17c635c06eb 100644 (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
index ab9fc8fe29c4b51fdf3ab48bcf11834abec3fda5..8758678494128863fd6b57d674379bb6dc7fe17a 100644 (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
         */