From 801bf813178573b539a8d66bcb1420cd11455994 Mon Sep 17 00:00:00 2001 From: Michael Weimann Date: Sat, 21 Jul 2018 13:05:34 +0200 Subject: [PATCH] Adds disabled user acceptance tests Signed-off-by: Michael Weimann --- .../features/bootstrap/LoginPageContext.php | 16 ++++++++++++++++ tests/acceptance/features/login.feature | 6 ++++++ tests/acceptance/installAndConfigureServer.sh | 2 ++ 3 files changed, 24 insertions(+) diff --git a/tests/acceptance/features/bootstrap/LoginPageContext.php b/tests/acceptance/features/bootstrap/LoginPageContext.php index 1496e3030c..df7944aa91 100644 --- a/tests/acceptance/features/bootstrap/LoginPageContext.php +++ b/tests/acceptance/features/bootstrap/LoginPageContext.php @@ -70,6 +70,14 @@ class LoginPageContext implements Context, ActorAwareInterface { describedAs("Wrong password message in Login page"); } + /** + * @return Locator + */ + public static function userDisabledMessage() { + return Locator::forThe()->xpath("//*[@class = 'warning userDisabledMsg' and normalize-space() = 'User disabled']")-> + describedAs('User disabled message on login page'); + } + /** * @When I log in with user :user and password :password */ @@ -96,6 +104,14 @@ class LoginPageContext implements Context, ActorAwareInterface { $this->actor->find(self::wrongPasswordMessage(), 10)->isVisible()); } + /** + * @Then I see that the disabled user message is shown + */ + public function iSeeThatTheDisabledUserMessageIsShown() { + PHPUnit_Framework_Assert::assertTrue( + $this->actor->find(self::userDisabledMessage(), 10)->isVisible()); + } + /** * @BeforeScenario */ diff --git a/tests/acceptance/features/login.feature b/tests/acceptance/features/login.feature index 3a31d3f88b..44353d37c6 100644 --- a/tests/acceptance/features/login.feature +++ b/tests/acceptance/features/login.feature @@ -28,6 +28,12 @@ Feature: login Then I see that the current page is the Login page And I see that a wrong password message is shown + Scenario: try to log in as disabled user + Given I visit the Home page + When I log in with user disabledUser and password 123456acb + Then I see that the current page is the Login page + And I see that the disabled user message is shown + Scenario: log in with invalid user once fixed by admin Given I act as John And I can not log in with user unknownUser and password 123456acb diff --git a/tests/acceptance/installAndConfigureServer.sh b/tests/acceptance/installAndConfigureServer.sh index c61faeda23..98de72bf45 100755 --- a/tests/acceptance/installAndConfigureServer.sh +++ b/tests/acceptance/installAndConfigureServer.sh @@ -35,6 +35,8 @@ fi php occ maintenance:install --admin-pass=admin OC_PASS=123456acb php occ user:add --password-from-env user0 +OC_PASS=123456acb php occ user:add --password-from-env disabledUser +php occ user:disable disabledUser if [ "$NEXTCLOUD_SERVER_DOMAIN" != "" ]; then # Default first trusted domain is "localhost"; replace it with given domain.