From 771ad85f859ccaeb815f0ff5256dfde36ce589c6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Julius=20H=C3=A4rtl?= Date: Mon, 15 Apr 2019 12:22:34 +0200 Subject: [PATCH] Add integration tests for updating folder shares MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- .../features/bootstrap/Sharing.php | 17 ++++++++++ .../features/sharing-v1-part3.feature | 32 +++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/build/integration/features/bootstrap/Sharing.php b/build/integration/features/bootstrap/Sharing.php index 9a3c00af489..8fcbbb2fcc1 100644 --- a/build/integration/features/bootstrap/Sharing.php +++ b/build/integration/features/bootstrap/Sharing.php @@ -42,6 +42,9 @@ trait Sharing { /** @var SimpleXMLElement */ private $lastShareData = null; + /** @var SimpleXMLElement[] */ + private $storedShareData = []; + /** @var int */ private $savedShareId = null; @@ -85,6 +88,20 @@ trait Sharing { $this->lastShareData = simplexml_load_string($this->response->getBody()); } + /** + * @When /^save the last share data as "([^"]*)"$/ + */ + public function saveLastShareData($name) { + $this->storedShareData[$name] = $this->lastShareData; + } + + /** + * @When /^restore the last share data from "([^"]*)"$/ + */ + public function restoreLastShareData($name) { + $this->lastShareData = $this->storedShareData[$name]; + } + /** * @When /^creating a share with$/ * @param \Behat\Gherkin\Node\TableNode|null $body diff --git a/build/integration/features/sharing-v1-part3.feature b/build/integration/features/sharing-v1-part3.feature index 6ab7cfdf9a0..1b3fe8245c4 100644 --- a/build/integration/features/sharing-v1-part3.feature +++ b/build/integration/features/sharing-v1-part3.feature @@ -393,3 +393,35 @@ Feature: sharing When User "user1" moved file "/textfile0.txt" to "/shared/shared_file.txt" Then as "user1" the file "/shared/shared_file.txt" exists And as "user0" the file "/shared/shared_file.txt" exists + + Scenario: Link shares inside of group shares keep their original data when the root share is updated + Given As an "admin" + And user "user0" exists + And user "user1" exists + And group "group1" exists + And user "user1" belongs to group "group1" + And As an "user0" + And user "user0" created a folder "/share" + And folder "/share" of user "user0" is shared with group "group1" + And user "user0" created a folder "/share/subfolder" + And As an "user1" + And save the last share data as "original" + And as "user1" creating a share with + | path | /share/subfolder | + | shareType | 3 | + | permissions | 31 | + And save the last share data as "link" + And As an "user0" + And restore the last share data from "original" + When Updating last share with + | permissions | 23 | + | expireDate | +3 days | + And restore the last share data from "link" + And Getting info of last share + And Share fields of last share match with + | id | A_NUMBER | + | item_source | A_NUMBER | + | share_type | 3 | + | permissions | 23 | + | file_target | /subfolder | + | expireDate | | -- 2.39.5