diff options
author | Julius Härtl <jus@bitgrid.net> | 2018-06-09 12:06:14 +0200 |
---|---|---|
committer | Julius Härtl <jus@bitgrid.net> | 2018-06-09 12:06:14 +0200 |
commit | cdbe39d0069b107ec0b2d77b262f108f06519199 (patch) | |
tree | 9806ace0d5e8a12b56999d901a56f3327125f77f /tests | |
parent | f5ecd1c100a9a09120f22ed9aa3d5753531ce360 (diff) | |
download | nextcloud-server-cdbe39d0069b107ec0b2d77b262f108f06519199.tar.gz nextcloud-server-cdbe39d0069b107ec0b2d77b262f108f06519199.zip |
Properly check for the sidebar
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/acceptance/features/apps.feature | 6 | ||||
-rw-r--r-- | tests/acceptance/features/bootstrap/AppsManagementContext.php | 23 |
2 files changed, 26 insertions, 3 deletions
diff --git a/tests/acceptance/features/apps.feature b/tests/acceptance/features/apps.feature index a7dd14d3fab..4881dfe9d8c 100644 --- a/tests/acceptance/features/apps.feature +++ b/tests/acceptance/features/apps.feature @@ -53,7 +53,7 @@ Feature: apps And I am logged in as the admin And I open the Apps management When I click on the "QA testing" app - Then I see that the sidebar is open + Then I see that the app details are shown # TODO: Improve testing with app store as external API # The following scenarios require the files_antivirus and calendar app @@ -77,7 +77,7 @@ Feature: apps And I open the Apps management And I open the "Tools" section When I click on the "Antivirus App for files" app - Then I see that the sidebar is open + Then I see that the app details are shown Scenario: Install an app from the app store Given I act as Jane @@ -85,6 +85,6 @@ Feature: apps And I open the Apps management And I open the "Office & text" section And I click on the "Calendar" app - And I see that the sidebar is open + And I see that the app details are shown Then I download and enable the "Calendar" app And I see that the "Calendar" app has been enabled diff --git a/tests/acceptance/features/bootstrap/AppsManagementContext.php b/tests/acceptance/features/bootstrap/AppsManagementContext.php index 117fb9b2c4b..b9896305182 100644 --- a/tests/acceptance/features/bootstrap/AppsManagementContext.php +++ b/tests/acceptance/features/bootstrap/AppsManagementContext.php @@ -106,6 +106,14 @@ class AppsManagementContext implements Context, ActorAwareInterface { describedAs("Enable button in the app list"); } + /** + * @return Locator + */ + public static function sidebar() { + return Locator::forThe()->id("app-sidebar")-> + describedAs("Sidebar in apps management"); + } + /** * @When I enable the :app app @@ -205,5 +213,20 @@ class AppsManagementContext implements Context, ActorAwareInterface { PHPUnit\Framework\Assert::assertEquals('Enable all', $this->actor->find(self::bundleButton($bundle))->getValue()); } + /** + * @Given /^I see that the app details are shown$/ + */ + public function iSeeThatTheAppDetailsAreShown() { + // The sidebar always exists in the DOM, so it has to be explicitly + // waited for it to be visible instead of relying on the implicit wait + // made to find the element. + if (!WaitFor::elementToBeEventuallyShown( + $this->actor, + self::sidebar(), + $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) { + PHPUnit_Framework_Assert::fail("The sidebar was not shown yet after $timeout seconds"); + } + } + } |