Added favorites integration tests

This commit is contained in:
David Toledo 2016-04-25 14:00:19 +00:00 committed by Thomas Müller
parent 5de6432441
commit 39a56c7bc1
No known key found for this signature in database
GPG Key ID: A943788A3BBEC44C
2 changed files with 62 additions and 1 deletions

View File

@ -434,5 +434,43 @@ trait WebDav {
$this->response = $ex->getResponse();
}
}
/*
* @When user "([^"]*)" favorites folder "([^"]*)"
* @param string $user
* @param string $path
* @param \Behat\Gherkin\Node\TableNode|null $propertiesTable
*/
public function userFavoritesFolder($user, $path, $propertiesTable) {
$properties = null;
if ($propertiesTable instanceof \Behat\Gherkin\Node\TableNode) {
foreach ($propertiesTable->getRows() as $row) {
$properties[] = $row[0];
}
}
$this->response = $this->favFolder($user, $path, 0, $properties);
}
/*Set the elements of a proppatch, $folderDepth requires 1 to see elements without children*/
public function favFolder($user, $path, $folderDepth, $properties = null){
$fullUrl = substr($this->baseUrl, 0, -4);
$settings = array(
'baseUri' => $fullUrl,
'userName' => $user,
);
if ($user === 'admin') {
$settings['password'] = $this->adminUser[1];
} else {
$settings['password'] = $this->regularUser;
}
$client = new SClient($settings);
if (!$properties) {
$properties = [
'{http://owncloud.org/ns}favorite'
];
}
echo $properties,
$response = $client->proppatch($this->davPath . '/' . ltrim($path, '/'), $properties, $folderDepth);
return $response;
}
}

View File

@ -0,0 +1,23 @@
Feature: favorite
Background:
Given using api version "1"
Scenario: Retrieving favorite info of a folder
Given using dav path "remote.php/webdav"
And As an "admin"
And user "user0" exists
When user "user0" favorites folder "/"
|{http://owncloud.org/ns}favorite|
Then As "user0" gets properties of folder "/" with
|{http://owncloud.org/ns}favorite|
And the single response should contain a property "{http://owncloud.org/ns}favorite" with value "1"
Scenario: Retrieving favorite info of a file
Given using dav path "remote.php/webdav"
And As an "admin"
And user "user0" exists
When user "user0" favorites folder "/textfile0.txt"
|{http://owncloud.org/ns}favorite|
Then As "user0" gets properties of folder "/textfile0.txt" with
|{http://owncloud.org/ns}favorite|
And the single response should contain a property "{http://owncloud.org/ns}favorite" with value "1"