Add integration tests for the editable fields
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
0d9c60613e
commit
533eb89b54
|
@ -177,6 +177,36 @@ trait Provisioning {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then /^user "([^"]*)" has editable fields$/
|
||||
*
|
||||
* @param string $user
|
||||
* @param \Behat\Gherkin\Node\TableNode|null $fields
|
||||
*/
|
||||
public function userHasEditableFields($user, $fields) {
|
||||
$fullUrl = $this->baseUrl . "v{$this->apiVersion}.php/cloud/user/fields";
|
||||
if ($user !== 'self') {
|
||||
$fullUrl .= '/' . $user;
|
||||
}
|
||||
$client = new Client();
|
||||
$options = [];
|
||||
if ($this->currentUser === 'admin') {
|
||||
$options['auth'] = $this->adminUser;
|
||||
} else {
|
||||
$options['auth'] = [$this->currentUser, $this->regularUser];
|
||||
}
|
||||
$options['headers'] = [
|
||||
'OCS-APIREQUEST' => 'true',
|
||||
];
|
||||
|
||||
$response = $client->get($fullUrl, $options);
|
||||
$fieldsArray = json_decode(json_encode(simplexml_load_string($response->getBody())->data->element), 1);
|
||||
|
||||
$expectedFields = $fields->getRows();
|
||||
$expectedFields = $this->simplifyArray($expectedFields);
|
||||
Assert::assertEquals($expectedFields, $fieldsArray);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then /^search users by phone for region "([^"]*)" with$/
|
||||
*
|
||||
|
|
|
@ -56,6 +56,32 @@ Feature: provisioning
|
|||
| brand-new-user |
|
||||
| admin |
|
||||
|
||||
Scenario: Get editable fields
|
||||
Given As an "admin"
|
||||
And user "brand-new-user" exists
|
||||
Then user "brand-new-user" has editable fields
|
||||
| displayname |
|
||||
| email |
|
||||
| phone |
|
||||
| address |
|
||||
| website |
|
||||
| twitter |
|
||||
Given As an "brand-new-user"
|
||||
Then user "brand-new-user" has editable fields
|
||||
| displayname |
|
||||
| email |
|
||||
| phone |
|
||||
| address |
|
||||
| website |
|
||||
| twitter |
|
||||
Then user "self" has editable fields
|
||||
| displayname |
|
||||
| email |
|
||||
| phone |
|
||||
| address |
|
||||
| website |
|
||||
| twitter |
|
||||
|
||||
Scenario: Edit a user
|
||||
Given As an "admin"
|
||||
And user "brand-new-user" exists
|
||||
|
|
Loading…
Reference in New Issue