Merge pull request #24252 from owncloud/integration_test_favorites
Added favorites integration tests
This commit is contained in:
commit
c1729852e6
|
@ -214,7 +214,7 @@ trait WebDav {
|
||||||
}
|
}
|
||||||
|
|
||||||
$value = $keys[$key];
|
$value = $keys[$key];
|
||||||
if ($value !== $expectedValue) {
|
if ($value != $expectedValue) {
|
||||||
throw new \Exception("Property \"$key\" found with value \"$value\", expected \"$expectedValue\"");
|
throw new \Exception("Property \"$key\" found with value \"$value\", expected \"$expectedValue\"");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -434,5 +434,51 @@ trait WebDav {
|
||||||
$this->response = $ex->getResponse();
|
$this->response = $ex->getResponse();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @When user :user favorites element :path
|
||||||
|
*/
|
||||||
|
public function userFavoritesElement($user, $path){
|
||||||
|
$this->response = $this->changeFavStateOfAnElement($user, $path, 1, 0, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @When user :user unfavorites element :path
|
||||||
|
*/
|
||||||
|
public function userUnfavoritesElement($user, $path){
|
||||||
|
$this->response = $this->changeFavStateOfAnElement($user, $path, 0, 0, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*Set the elements of a proppatch, $folderDepth requires 1 to see elements without children*/
|
||||||
|
public function changeFavStateOfAnElement($user, $path, $favOrUnfav, $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' => $favOrUnfav
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
$response = $client->proppatch($this->davPath . '/' . ltrim($path, '/'), $properties, $folderDepth);
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Then /^as "([^"]*)" gets properties of file "([^"]*)" with$/
|
||||||
|
* @param string $user
|
||||||
|
* @param string $path
|
||||||
|
* @param \Behat\Gherkin\Node\TableNode|null $propertiesTable
|
||||||
|
*/
|
||||||
|
public function asGetsPropertiesOfFileWith($user, $path, $propertiesTable) {
|
||||||
|
$this->asGetsPropertiesOfFolderWith($user, $path, $propertiesTable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
Feature: favorite
|
||||||
|
Background:
|
||||||
|
Given using api version "1"
|
||||||
|
|
||||||
|
Scenario: Favorite a folder
|
||||||
|
Given using dav path "remote.php/webdav"
|
||||||
|
And As an "admin"
|
||||||
|
And user "user0" exists
|
||||||
|
When user "user0" favorites element "/FOLDER"
|
||||||
|
Then as "user0" gets properties of folder "/FOLDER" with
|
||||||
|
|{http://owncloud.org/ns}favorite|
|
||||||
|
And the single response should contain a property "{http://owncloud.org/ns}favorite" with value "1"
|
||||||
|
|
||||||
|
Scenario: Favorite and unfavorite a folder
|
||||||
|
Given using dav path "remote.php/webdav"
|
||||||
|
And As an "admin"
|
||||||
|
And user "user0" exists
|
||||||
|
When user "user0" favorites element "/FOLDER"
|
||||||
|
And user "user0" unfavorites element "/FOLDER"
|
||||||
|
Then as "user0" gets properties of folder "/FOLDER" with
|
||||||
|
|{http://owncloud.org/ns}favorite|
|
||||||
|
And the single response should contain a property "{http://owncloud.org/ns}favorite" with value ""
|
||||||
|
|
||||||
|
Scenario: Favorite a file
|
||||||
|
Given using dav path "remote.php/webdav"
|
||||||
|
And As an "admin"
|
||||||
|
And user "user0" exists
|
||||||
|
When user "user0" favorites element "/textfile0.txt"
|
||||||
|
Then as "user0" gets properties of file "/textfile0.txt" with
|
||||||
|
|{http://owncloud.org/ns}favorite|
|
||||||
|
And the single response should contain a property "{http://owncloud.org/ns}favorite" with value "1"
|
||||||
|
|
||||||
|
Scenario: Favorite and unfavorite a file
|
||||||
|
Given using dav path "remote.php/webdav"
|
||||||
|
And As an "admin"
|
||||||
|
And user "user0" exists
|
||||||
|
When user "user0" favorites element "/textfile0.txt"
|
||||||
|
And user "user0" unfavorites element "/textfile0.txt"
|
||||||
|
Then as "user0" gets properties of file "/textfile0.txt" with
|
||||||
|
|{http://owncloud.org/ns}favorite|
|
||||||
|
And the single response should contain a property "{http://owncloud.org/ns}favorite" with value ""
|
||||||
|
|
Loading…
Reference in New Issue