summaryrefslogtreecommitdiffstats
path: root/build/integration
diff options
context:
space:
mode:
authorSergio Bertolin <sbertolin@solidgear.es>2017-03-15 14:31:48 +0000
committerMorris Jobke <hey@morrisjobke.de>2017-03-20 02:19:04 -0600
commit493b4c2f5c7feae9b736cb128883836d036cf887 (patch)
tree9742b5c1a814224ff28cbf357ded08b83d55eccf /build/integration
parentdaa7e1109598417e133d756083b8fc8c75a2850f (diff)
downloadnextcloud-server-493b4c2f5c7feae9b736cb128883836d036cf887.tar.gz
nextcloud-server-493b4c2f5c7feae9b736cb128883836d036cf887.zip
Added logic and tests to remove everything inside a folder
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
Diffstat (limited to 'build/integration')
-rw-r--r--build/integration/features/bootstrap/WebDav.php19
-rw-r--r--build/integration/features/webdav-related.feature38
2 files changed, 57 insertions, 0 deletions
diff --git a/build/integration/features/bootstrap/WebDav.php b/build/integration/features/bootstrap/WebDav.php
index 680d8f96e7c..0a75ff96732 100644
--- a/build/integration/features/bootstrap/WebDav.php
+++ b/build/integration/features/bootstrap/WebDav.php
@@ -729,4 +729,23 @@ trait WebDav {
}
}
+ /**
+ * @When /^User "([^"]*)" deletes everything from folder "([^"]*)"$/
+ * @param string $user
+ * @param string $folder
+ */
+ public function userDeletesEverythingInFolder($user, $folder) {
+ $elementList = $this->listFolder($user, $folder, 1);
+ $elementListKeys = array_keys($elementList);
+ array_shift($elementListKeys);
+ $davPrefix = "/" . $this->getDavFilesPath($user);
+ foreach($elementListKeys as $element) {
+ if (substr($element, 0, strlen($davPrefix)) == $davPrefix) {
+ $element = substr($element, strlen($davPrefix));
+ }
+ $this->userDeletesFile($user, "element", $element);
+ }
+ }
+
+
}
diff --git a/build/integration/features/webdav-related.feature b/build/integration/features/webdav-related.feature
index c3aa6145527..775bf2ca882 100644
--- a/build/integration/features/webdav-related.feature
+++ b/build/integration/features/webdav-related.feature
@@ -479,3 +479,41 @@ Feature: webdav-related
When as "user0" gets properties of folder "/test_folder:5" with
|{DAV:}resourcetype|
Then the single response should contain a property "{DAV:}resourcetype" with value "{DAV:}collection"
+
+ Scenario: Removing everything of a folder
+ Given using old dav path
+ And As an "admin"
+ And user "user0" exists
+ And As an "user0"
+ And User "user0" moves file "/welcome.txt" to "/FOLDER/welcome.txt"
+ And user "user0" created a folder "/FOLDER/SUBFOLDER"
+ And User "user0" copies file "/textfile0.txt" to "/FOLDER/SUBFOLDER/testfile0.txt"
+ When User "user0" deletes everything from folder "/FOLDER/"
+ Then user "user0" should see following elements
+ | /FOLDER/ |
+ | /PARENT/ |
+ | /PARENT/parent.txt |
+ | /textfile0.txt |
+ | /textfile1.txt |
+ | /textfile2.txt |
+ | /textfile3.txt |
+ | /textfile4.txt |
+
+ Scenario: Removing everything of a folder using new dav path
+ Given using new dav path
+ And As an "admin"
+ And user "user0" exists
+ And As an "user0"
+ And User "user0" moves file "/welcome.txt" to "/FOLDER/welcome.txt"
+ And user "user0" created a folder "/FOLDER/SUBFOLDER"
+ And User "user0" copies file "/textfile0.txt" to "/FOLDER/SUBFOLDER/testfile0.txt"
+ When User "user0" deletes everything from folder "/FOLDER/"
+ Then user "user0" should see following elements
+ | /FOLDER/ |
+ | /PARENT/ |
+ | /PARENT/parent.txt |
+ | /textfile0.txt |
+ | /textfile1.txt |
+ | /textfile2.txt |
+ | /textfile3.txt |
+ | /textfile4.txt |