Signed-off-by: Dries Mys <dries.mys@my-dreams.be>tags/v22.0.0beta4
@@ -175,6 +175,38 @@ trait Provisioning { | |||
} | |||
} | |||
} | |||
/** | |||
* @Then /^group "([^"]*)" has$/ | |||
* | |||
* @param string $user | |||
* @param \Behat\Gherkin\Node\TableNode|null $settings | |||
*/ | |||
public function groupHasSetting($group, $settings) { | |||
$fullUrl = $this->baseUrl . "v{$this->apiVersion}.php/cloud/groups/details?search=$group"; | |||
$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); | |||
$groupDetails = simplexml_load_string($response->getBody())->data[0]->groups[0]->element; | |||
foreach ($settings->getRows() as $setting) { | |||
$value = json_decode(json_encode($groupDetails->{$setting[0]}), 1); | |||
if (isset($value[0])) { | |||
Assert::assertEquals($setting[1], $value[0], "", 0.0, 10, true); | |||
} else { | |||
Assert::assertEquals('', $setting[1]); | |||
} | |||
} | |||
} | |||
/** | |||
* @Then /^user "([^"]*)" has editable fields$/ |
@@ -231,6 +231,21 @@ Feature: provisioning | |||
Then the OCS status code should be "100" | |||
And the HTTP status code should be "200" | |||
And group "new-group" exists | |||
And group "new-group" has | |||
| displayname | new-group | | |||
Scenario: Create a group with custom display name | |||
Given As an "admin" | |||
And group "new-group" does not exist | |||
When sending "POST" to "/cloud/groups" with | |||
| groupid | new-group | | |||
| password | 123456 | | |||
| displayname | new-group-displayname | | |||
Then the OCS status code should be "100" | |||
And the HTTP status code should be "200" | |||
And group "new-group" exists | |||
And group "new-group" has | |||
| displayname | new-group-displayname | | |||
Scenario: Create a group with special characters | |||
Given As an "admin" | |||
@@ -241,6 +256,8 @@ Feature: provisioning | |||
Then the OCS status code should be "100" | |||
And the HTTP status code should be "200" | |||
And group "España" exists | |||
And group "España" has | |||
| displayname | España | | |||
Scenario: adding user to a group without sending the group | |||
Given As an "admin" |