Skip to content

Commit

Permalink
Add acceptance test for creating a user with a custom display name
Browse files Browse the repository at this point in the history
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
  • Loading branch information
danxuliu committed Apr 20, 2018
1 parent a07ce9d commit 994a67e
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -594,6 +594,13 @@ pipeline:
when:
matrix:
TESTS-ACCEPTANCE: login
acceptance-settings-users:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-settings-users --selenium-server selenium:4444 allow-git-repository-modifications features/settings-users.feature
when:
matrix:
TESTS-ACCEPTANCE: settings-users
nodb-codecov:
image: nextcloudci/php7.0:php7.0-19
commands:
Expand Down Expand Up @@ -761,6 +768,8 @@ matrix:
TESTS-ACCEPTANCE: header
- TESTS: acceptance
TESTS-ACCEPTANCE: login
- TESTS: acceptance
TESTS-ACCEPTANCE: settings-users
- TESTS: jsunit
- TESTS: syntax-php7.0
- TESTS: syntax-php7.1
Expand Down
51 changes: 51 additions & 0 deletions tests/acceptance/features/bootstrap/UsersSettingsContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,14 @@ public static function userNameFieldForNewUser() {
describedAs("User name field for new user in Users Settings");
}

/**
* @return Locator
*/
public static function displayNameFieldForNewUser() {
return Locator::forThe()->field("newdisplayname")->
describedAs("Display name field for new user in Users Settings");
}

/**
* @return Locator
*/
Expand Down Expand Up @@ -75,6 +83,14 @@ public static function rowForUser($user) {
describedAs("Row for user $user in Users Settings");
}

/**
* @return Locator
*/
public static function displayNameCellForUser($user) {
return Locator::forThe()->css(".displayName")->descendantOf(self::rowForUser($user))->
describedAs("Display name cell for user $user in Users Settings");
}

/**
* @return Locator
*/
Expand All @@ -98,6 +114,34 @@ public function iClickTheNewUserButton() {
$this->actor->find(self::newUserButton())->click();
}

/**
* @When I set the user name for the new user to :user
*/
public function iSetTheUserNameForTheNewUserTo($user) {
$this->actor->find(self::userNameFieldForNewUser(), 10)->setValue($user);
}

/**
* @When I set the display name for the new user to :displayName
*/
public function iSetTheDisplayNameForTheNewUserTo($displayName) {
$this->actor->find(self::displayNameFieldForNewUser(), 10)->setValue($displayName);
}

/**
* @When I set the password for the new user to :password
*/
public function iSetThePasswordForTheNewUserTo($password) {
$this->actor->find(self::passwordFieldForNewUser(), 10)->setValue($password);
}

/**
* @When I create the new user
*/
public function iCreateTheNewUser() {
$this->actor->find(self::createNewUserButton(), 10)->click();
}

/**
* @When I create user :user with password :password
*/
Expand All @@ -122,6 +166,13 @@ public function iSeeThatTheListOfUsersContainsTheUser($user) {
PHPUnit_Framework_Assert::assertNotNull($this->actor->find(self::rowForUser($user), 10));
}

/**
* @Then I see that the display name for the user :user is :displayName
*/
public function iSeeThatTheDisplayNameForTheUserIs($user, $displayName) {
PHPUnit_Framework_Assert::assertEquals($displayName, $this->actor->find(self::displayNameCellForUser($user), 10)->getText());
}

/**
* @Then I see that the new user form is shown
*/
Expand Down
13 changes: 13 additions & 0 deletions tests/acceptance/features/settings-users.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Feature: settings-users

Scenario: create a new user with a custom display name
Given I am logged in as the admin
And I open the User settings
When I click the New user button
And I see that the new user form is shown
And I set the user name for the new user to "test"
And I set the display name for the new user to "Test display name"
And I set the password for the new user to "123456acb"
And I create the new user
Then I see that the list of users contains the user "test"
And I see that the display name for the user "test" is "Test display name"

0 comments on commit 994a67e

Please sign in to comment.