From 970d52fc298c53d9386dcca83f2eb5fca21167af Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Mon, 18 Mar 2019 14:16:40 +0100 Subject: Adjust acceptance tests Signed-off-by: Morris Jobke --- tests/acceptance/features/access-levels.feature | 3 ++- .../features/bootstrap/SettingsMenuContext.php | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/acceptance/features/access-levels.feature b/tests/acceptance/features/access-levels.feature index fb6b180be7e..9d5695897c0 100644 --- a/tests/acceptance/features/access-levels.feature +++ b/tests/acceptance/features/access-levels.feature @@ -12,7 +12,8 @@ Feature: access-levels Scenario: regular users cannot see admin-level items on the Settings page Given I am logged in When I visit the settings page - Then I see that the "Personal" settings panel is shown + Then I see that the "Personal info" entry in the settings panel is shown + And I see that the "Personal" settings panel is not shown And I see that the "Administration" settings panel is not shown Scenario: admin users can see admin-level items on the Settings page diff --git a/tests/acceptance/features/bootstrap/SettingsMenuContext.php b/tests/acceptance/features/bootstrap/SettingsMenuContext.php index 3dd5022ecc9..e4e20997fc2 100644 --- a/tests/acceptance/features/bootstrap/SettingsMenuContext.php +++ b/tests/acceptance/features/bootstrap/SettingsMenuContext.php @@ -93,6 +93,15 @@ class SettingsMenuContext implements Context, ActorAwareInterface { describedAs($itemText . " item in Settings panel"); } + /** + * @param string $itemText + * @return Locator + */ + private static function settingsPanelEntryFor($itemText) { + return Locator::forThe()->xpath("//div[@id = 'app-navigation']//ul//li[normalize-space() = '$itemText']")-> + describedAs($itemText . " entry in Settings panel"); + } + /** * @return array */ @@ -188,6 +197,15 @@ class SettingsMenuContext implements Context, ActorAwareInterface { ); } + /** + * @Then I see that the :itemText entry in the settings panel is shown + */ + public function iSeeThatTheItemEntryInTheSettingsPanelIsShown($itemText) { + PHPUnit_Framework_Assert::assertTrue( + $this->actor->find(self::settingsPanelEntryFor($itemText), 10)->isVisible() + ); + } + /** * @Then I see that the :itemText settings panel is not shown */ -- cgit v1.2.3