summaryrefslogtreecommitdiffstats
path: root/build/integration/features/bootstrap/FeatureContext.php
diff options
context:
space:
mode:
Diffstat (limited to 'build/integration/features/bootstrap/FeatureContext.php')
-rw-r--r--build/integration/features/bootstrap/FeatureContext.php51
1 files changed, 49 insertions, 2 deletions
diff --git a/build/integration/features/bootstrap/FeatureContext.php b/build/integration/features/bootstrap/FeatureContext.php
index 96f46ce28ed..46c86f1300b 100644
--- a/build/integration/features/bootstrap/FeatureContext.php
+++ b/build/integration/features/bootstrap/FeatureContext.php
@@ -595,7 +595,12 @@ class FeatureContext implements Context, SnippetAcceptingContext {
public function checkPublicSharedFile($filename) {
$client = new Client();
$options = [];
- $url = $this->lastShareData->data[0]->url;
+ if (count($this->lastShareData->data->element) > 0){
+ $url = $this->lastShareData->data[0]->url;
+ }
+ else{
+ $url = $this->lastShareData->data->url;
+ }
$fullUrl = $url . "/download";
$options['save_to'] = "./$filename";
$this->response = $client->get($fullUrl, $options);
@@ -613,7 +618,13 @@ class FeatureContext implements Context, SnippetAcceptingContext {
public function checkPublicSharedFileWithPassword($filename, $password) {
$client = new Client();
$options = [];
- $token = $this->lastShareData->data[0]->token;
+ if (count($this->lastShareData->data->element) > 0){
+ $token = $this->lastShareData->data[0]->token;
+ }
+ else{
+ $token = $this->lastShareData->data->token;
+ }
+
$fullUrl = substr($this->baseUrl, 0, -4) . "public.php/webdav";
$options['auth'] = [$token, $password];
$options['save_to'] = "./$filename";
@@ -645,6 +656,40 @@ class FeatureContext implements Context, SnippetAcceptingContext {
PHPUnit_Framework_Assert::assertEquals(200, $this->response->getStatusCode());
}
+ /**
+ * @When /^Updating last share with$/
+ * @param \Behat\Gherkin\Node\TableNode|null $formData
+ */
+ public function updatingLastShare($body) {
+ $share_id = $this->lastShareData->data[0]->id;
+ $fullUrl = $this->baseUrl . "v{$this->apiVersion}.php/apps/files_sharing/api/v{$this->sharingApiVersion}/shares/$share_id";
+ $client = new Client();
+ $options = [];
+ if ($this->currentUser === 'admin') {
+ $options['auth'] = $this->adminUser;
+ } else {
+ $options['auth'] = [$this->currentUser, $this->regularUser];
+ }
+
+ if ($body instanceof \Behat\Gherkin\Node\TableNode) {
+ $fd = $body->getRowsHash();
+ if (array_key_exists('expireDate', $fd)){
+ $dateModification = $fd['expireDate'];
+ $fd['expireDate'] = date('Y-m-d', strtotime($dateModification));
+ }
+ $options['body'] = $fd;
+ }
+
+ try {
+ $this->response = $client->send($client->createRequest("PUT", $fullUrl, $options));
+ } catch (\GuzzleHttp\Exception\ClientException $ex) {
+ $this->response = $ex->getResponse();
+ }
+
+ PHPUnit_Framework_Assert::assertEquals(200, $this->response->getStatusCode());
+ }
+
+
public function createShare($user,
$path = null,
$shareType = null,
@@ -718,6 +763,7 @@ class FeatureContext implements Context, SnippetAcceptingContext {
return True;
}
}
+
return False;
} else {
if ($contentExpected == "A_TOKEN"){
@@ -821,6 +867,7 @@ class FeatureContext implements Context, SnippetAcceptingContext {
public function checkShareFields($body){
if ($body instanceof \Behat\Gherkin\Node\TableNode) {
$fd = $body->getRowsHash();
+
foreach($fd as $field => $value) {
PHPUnit_Framework_Assert::assertEquals(True, $this->isFieldInResponse($field, $value));
}