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 authored and MorrisJobke committed May 23, 2018
1 parent 6b6d522 commit be6d916
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -601,6 +601,13 @@ pipeline:
when:
matrix:
TESTS-ACCEPTANCE: users
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 @@ -770,6 +777,8 @@ matrix:
TESTS-ACCEPTANCE: login
- TESTS: acceptance
TESTS-ACCEPTANCE: users
- TESTS: acceptance
TESTS-ACCEPTANCE: settings-users
- TESTS: jsunit
- TESTS: syntax-php7.0
- TESTS: syntax-php7.1
Expand Down
59 changes: 59 additions & 0 deletions tests/acceptance/features/bootstrap/UsersSettingsContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,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 @@ -131,6 +139,22 @@ public static function theColumn($column) {
describedAs("The $column column 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
*/
public static function passwordCellForUser($user) {
return Locator::forThe()->css(".password")->descendantOf(self::rowForUser($user))->
describedAs("Password cell for user $user in Users Settings");
}

/**
* @return Locator
*/
Expand Down Expand Up @@ -161,6 +185,34 @@ public function iOpenTheActionsMenuOf($user) {
$this->actor->find(self::actionsMenuOf($user))->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 Down Expand Up @@ -207,6 +259,13 @@ public function iSeeThatTheListOfUsersDoesNotContainsTheUser($user) {
WaitFor::elementToBeEventuallyNotShown($this->actor, self::rowForUser($user));
}

/**
* @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 be6d916

Please sign in to comment.