aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/acceptance/features/bootstrap/AppNavigationContext.php14
-rw-r--r--tests/acceptance/features/bootstrap/AppSettingsContext.php7
-rw-r--r--tests/acceptance/features/bootstrap/AppsManagementContext.php7
-rw-r--r--tests/acceptance/features/bootstrap/DialogContext.php14
-rw-r--r--tests/acceptance/features/bootstrap/UsersSettingsContext.php43
5 files changed, 74 insertions, 11 deletions
diff --git a/tests/acceptance/features/bootstrap/AppNavigationContext.php b/tests/acceptance/features/bootstrap/AppNavigationContext.php
index df6ed228960..06a1c563b03 100644
--- a/tests/acceptance/features/bootstrap/AppNavigationContext.php
+++ b/tests/acceptance/features/bootstrap/AppNavigationContext.php
@@ -112,14 +112,24 @@ class AppNavigationContext implements Context, ActorAwareInterface {
* @Then I see that the section :section is shown
*/
public function iSeeThatTheSectionIsShown($section) {
- WaitFor::elementToBeEventuallyShown($this->actor, self::appNavigationSectionItemFor($section));
+ if (!WaitFor::elementToBeEventuallyShown(
+ $this->actor,
+ self::appNavigationSectionItemFor($section),
+ $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) {
+ PHPUnit_Framework_Assert::fail("The section $section in the app navigation is not shown yet after $timeout seconds");
+ }
}
/**
* @Then I see that the section :section is not shown
*/
public function iSeeThatTheSectionIsNotShown($section) {
- WaitFor::elementToBeEventuallyNotShown($this->actor, self::appNavigationSectionItemFor($section));
+ if (!WaitFor::elementToBeEventuallyNotShown(
+ $this->actor,
+ self::appNavigationSectionItemFor($section),
+ $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) {
+ PHPUnit_Framework_Assert::fail("The section $section in the app navigation is still shown after $timeout seconds");
+ }
}
/**
diff --git a/tests/acceptance/features/bootstrap/AppSettingsContext.php b/tests/acceptance/features/bootstrap/AppSettingsContext.php
index d7ee4a2eb00..eda9fe200d0 100644
--- a/tests/acceptance/features/bootstrap/AppSettingsContext.php
+++ b/tests/acceptance/features/bootstrap/AppSettingsContext.php
@@ -95,6 +95,11 @@ class AppSettingsContext implements Context, ActorAwareInterface {
* @Then I see that the settings are opened
*/
public function iSeeThatTheSettingsAreOpened() {
- WaitFor::elementToBeEventuallyShown($this->actor, self::appSettingsContent());
+ if (!WaitFor::elementToBeEventuallyShown(
+ $this->actor,
+ self::appSettingsContent(),
+ $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) {
+ PHPUnit_Framework_Assert::fail("The app settings are not open yet after $timeout seconds");
+ }
}
}
diff --git a/tests/acceptance/features/bootstrap/AppsManagementContext.php b/tests/acceptance/features/bootstrap/AppsManagementContext.php
index d86b972c85b..b692e77ca60 100644
--- a/tests/acceptance/features/bootstrap/AppsManagementContext.php
+++ b/tests/acceptance/features/bootstrap/AppsManagementContext.php
@@ -164,7 +164,12 @@ class AppsManagementContext implements Context, ActorAwareInterface {
* @Then /^I see that there some apps listed from the app store$/
*/
public function iSeeThatThereSomeAppsListedFromTheAppStore() {
- WaitFor::elementToBeEventuallyShown($this->actor, self::appEntries(), 10);
+ if (!WaitFor::elementToBeEventuallyShown(
+ $this->actor,
+ self::appEntries(),
+ $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) {
+ PHPUnit_Framework_Assert::fail("The apps from the app store were not shown yet after $timeout seconds");
+ }
}
/**
diff --git a/tests/acceptance/features/bootstrap/DialogContext.php b/tests/acceptance/features/bootstrap/DialogContext.php
index f9d2d6244e9..e2dccf7b113 100644
--- a/tests/acceptance/features/bootstrap/DialogContext.php
+++ b/tests/acceptance/features/bootstrap/DialogContext.php
@@ -54,13 +54,23 @@ class DialogContext implements Context, ActorAwareInterface {
* @Then I see that the confirmation dialog is shown
*/
public function iSeeThatTheConfirmationDialogIsShown() {
- WaitFor::elementToBeEventuallyShown($this->actor, self::theDialog());
+ if (!WaitFor::elementToBeEventuallyShown(
+ $this->actor,
+ self::theDialog(),
+ $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) {
+ PHPUnit_Framework_Assert::fail("The confirmation dialog was not shown yet after $timeout seconds");
+ }
}
/**
* @Then I see that the confirmation dialog is not shown
*/
public function iSeeThatTheConfirmationDialogIsNotShown() {
- WaitFor::elementToBeEventuallyNotShown($this->actor, self::theDialog());
+ if (!WaitFor::elementToBeEventuallyNotShown(
+ $this->actor,
+ self::theDialog(),
+ $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) {
+ PHPUnit_Framework_Assert::fail("The confirmation dialog is still shown after $timeout seconds");
+ }
}
}
diff --git a/tests/acceptance/features/bootstrap/UsersSettingsContext.php b/tests/acceptance/features/bootstrap/UsersSettingsContext.php
index cc542bf2fc4..6b0aa787791 100644
--- a/tests/acceptance/features/bootstrap/UsersSettingsContext.php
+++ b/tests/acceptance/features/bootstrap/UsersSettingsContext.php
@@ -267,14 +267,24 @@ class UsersSettingsContext implements Context, ActorAwareInterface {
* @Then I see that the list of users contains the user :user
*/
public function iSeeThatTheListOfUsersContainsTheUser($user) {
- WaitFor::elementToBeEventuallyShown($this->actor, self::rowForUser($user));
+ if (!WaitFor::elementToBeEventuallyShown(
+ $this->actor,
+ self::rowForUser($user),
+ $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) {
+ PHPUnit_Framework_Assert::fail("The user $user in the list of users is not shown yet after $timeout seconds");
+ }
}
/**
* @Then I see that the list of users does not contains the user :user
*/
public function iSeeThatTheListOfUsersDoesNotContainsTheUser($user) {
- WaitFor::elementToBeEventuallyNotShown($this->actor, self::rowForUser($user));
+ if (!WaitFor::elementToBeEventuallyNotShown(
+ $this->actor,
+ self::rowForUser($user),
+ $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) {
+ PHPUnit_Framework_Assert::fail("The user $user in the list of users is still shown after $timeout seconds");
+ }
}
/**
@@ -321,8 +331,26 @@ class UsersSettingsContext implements Context, ActorAwareInterface {
* @Then I see that the :cell cell for user :user is done loading
*/
public function iSeeThatTheCellForUserIsDoneLoading($cell, $user) {
- WaitFor::elementToBeEventuallyShown($this->actor, self::classCellForUser($cell . ' icon-loading-small', $user));
- WaitFor::elementToBeEventuallyNotShown($this->actor, self::classCellForUser($cell . ' icon-loading-small', $user));
+ // It could happen that the cell for the user was done loading and thus
+ // the loading icon hidden again even before finding the loading icon
+ // started. Therefore, if the loading icon could not be found it is just
+ // assumed that it was already hidden again. Nevertheless, this check
+ // should be done anyway to ensure that the following scenario steps are
+ // not executed before the cell for the user was done loading.
+ try {
+ $this->actor->find(self::classCellForUser($cell . ' icon-loading-small', $user), 1);
+ } catch (NoSuchElementException $exception) {
+ echo "The loading icon for user $user was not found after " . (1 * $this->actor->getFindTimeoutMultiplier()) . " seconds, assumming that it was shown and hidden again before the check started and continuing";
+
+ return;
+ }
+
+ if (!WaitFor::elementToBeEventuallyNotShown(
+ $this->actor,
+ self::classCellForUser($cell . ' icon-loading-small', $user),
+ $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) {
+ PHPUnit_Framework_Assert::fail("The loading icon for user $user is still shown after $timeout seconds");
+ }
}
/**
@@ -337,6 +365,11 @@ class UsersSettingsContext implements Context, ActorAwareInterface {
* @Then I see that the edit mode is on for user :user
*/
public function iSeeThatTheEditModeIsOn($user) {
- WaitFor::elementToBeEventuallyShown($this->actor, self::editModeOn($user));
+ if (!WaitFor::elementToBeEventuallyShown(
+ $this->actor,
+ self::editModeOn($user),
+ $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) {
+ PHPUnit_Framework_Assert::fail("The edit mode for user $user in the list of users is not on yet after $timeout seconds");
+ }
}
}