]> source.dussan.org Git - nextcloud-server.git/commitdiff
Extract duplicated code to a method
authorDaniel Calviño Sánchez <danxuliu@gmail.com>
Fri, 9 Jun 2017 01:03:47 +0000 (03:03 +0200)
committerDaniel Calviño Sánchez <danxuliu@gmail.com>
Tue, 13 Jun 2017 14:41:20 +0000 (16:41 +0200)
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
tests/acceptance/features/bootstrap/FilesAppContext.php

index 9d8e05a1325c0f75a1a466f40b86417f825bf6ff..52f69c667967a7fc809fc87913cb88c8437fa7d5 100644 (file)
@@ -432,20 +432,7 @@ class FilesAppContext implements Context, ActorAwareInterface {
         * @When I see that the :tabName tab in the details view is eventually loaded
         */
        public function iSeeThatTheTabInTheDetailsViewIsEventuallyLoaded($tabName) {
-               $timeout = 10;
-               $timeoutStep = 1;
-
-               $actor = $this->actor;
-               $loadingIcon = self::loadingIconForTabInCurrentSectionDetailsViewNamed($tabName);
-
-               $loadingIconNotFoundCallback = function() use ($actor, $loadingIcon) {
-                       try {
-                               return !$actor->find($loadingIcon)->isVisible();
-                       } catch (NoSuchElementException $exception) {
-                               return true;
-                       }
-               };
-               if (!Utils::waitFor($loadingIconNotFoundCallback, $timeout, $timeoutStep)) {
+               if (!$this->waitForElementToBeEventuallyNotShown(self::loadingIconForTabInCurrentSectionDetailsViewNamed($tabName), $timeout = 10)) {
                        PHPUnit_Framework_Assert::fail("The $tabName tab in the details view has not been loaded after $timeout seconds");
                }
        }
@@ -461,20 +448,7 @@ class FilesAppContext implements Context, ActorAwareInterface {
         * @Then I see that the working icon for password protect is eventually not shown
         */
        public function iSeeThatTheWorkingIconForPasswordProtectIsEventuallyNotShown() {
-               $timeout = 10;
-               $timeoutStep = 1;
-
-               $actor = $this->actor;
-               $passwordProtectWorkingIcon = self::passwordProtectWorkingIcon();
-
-               $workingIconNotFoundCallback = function() use ($actor, $passwordProtectWorkingIcon) {
-                       try {
-                               return !$actor->find($passwordProtectWorkingIcon)->isVisible();
-                       } catch (NoSuchElementException $exception) {
-                               return true;
-                       }
-               };
-               if (!Utils::waitFor($workingIconNotFoundCallback, $timeout, $timeoutStep)) {
+               if (!$this->waitForElementToBeEventuallyNotShown(self::passwordProtectWorkingIcon(), $timeout = 10)) {
                        PHPUnit_Framework_Assert::fail("The working icon for password protect is still shown after $timeout seconds");
                }
        }
@@ -489,4 +463,17 @@ class FilesAppContext implements Context, ActorAwareInterface {
                $this->iSeeThatTheWorkingIconForPasswordProtectIsEventuallyNotShown();
        }
 
+       private function waitForElementToBeEventuallyNotShown($elementLocator, $timeout = 10, $timeoutStep = 1) {
+               $actor = $this->actor;
+
+               $elementNotFoundCallback = function() use ($actor, $elementLocator) {
+                       try {
+                               return !$actor->find($elementLocator)->isVisible();
+                       } catch (NoSuchElementException $exception) {
+                               return true;
+                       }
+               };
+
+               return Utils::waitFor($elementNotFoundCallback, $timeout, $timeoutStep);
+       }
 }