@api @skipOnOcV10 Feature: Remove files, folder As a user I want to be able to remove files, folders Users with the editor role can also remove objects Users with the viewer role cannot remove objects Note - this feature is run in CI with ACCOUNTS_HASH_DIFFICULTY set to the default for production See https://github.com/owncloud/ocis/issues/1542 and https://github.com/owncloud/ocis/pull/839 Background: Given these users have been created with default attributes and without skeleton files: | username | | Alice | | Brian | And using spaces DAV path And the administrator has given "Alice" the role "Space Admin" using the settings api And user "Alice" has created a space "delete objects" with the default quota using the GraphApi And user "Alice" has created a folder "folderForDeleting/sub1/sub2" in space "delete objects" And user "Alice" has uploaded a file inside space "delete objects" with content "some content" to "text.txt" Scenario Outline: An user deletes a folder with some subfolders in a Space via the webDav API Given user "Alice" has shared a space "delete objects" with settings: | shareWith | Brian | | role | | When user "" removes the folder "folderForDeleting" from space "delete objects" Then the HTTP status code should be "" And for user "" the space "delete objects" contain these entries: | folderForDeleting | And as "" folder "folderForDeleting" exist in the trashbin of the space "delete objects" Examples: | user | role | code | shouldOrNotBeInSpace | shouldOrNotBeInTrash | | Alice | manager | 204 | should not | should | | Brian | manager | 204 | should not | should | | Brian | editor | 204 | should not | should | | Brian | viewer | 403 | should | should not | Scenario Outline: An user deletes a subfolder in a Space via the webDav API Given user "Alice" has shared a space "delete objects" with settings: | shareWith | Brian | | role | | When user "" removes the folder "folderForDeleting/sub1" from space "delete objects" Then the HTTP status code should be "" And for user "" the space "delete objects" should contain these entries: | folderForDeleting | And for user "" folder "folderForDeleting/" of the space "delete objects" contain these entries: | sub1 | And as "" folder "sub1" exist in the trashbin of the space "delete objects" Examples: | user | role | code | shouldOrNotBeInSpace | shouldOrNotBeInTrash | | Alice | manager | 204 | should not | should | | Brian | manager | 204 | should not | should | | Brian | editor | 204 | should not | should | | Brian | viewer | 403 | should | should not | Scenario Outline: An user deletes a file in a Space via the webDav API Given user "Alice" has shared a space "delete objects" with settings: | shareWith | Brian | | role | | When user "" removes the file "text.txt" from space "delete objects" Then the HTTP status code should be "" And for user "" the space "delete objects" contain these entries: | text.txt | And as "" file "text.txt" exist in the trashbin of the space "delete objects" And the user "" should have a space called "delete objects" with these key and value pairs: | key | value | | name | delete objects | | quota@@@used | | Examples: | user | role | code | shouldOrNotBeInSpace | shouldOrNotBeInTrash | quotaValue | | Alice | manager | 204 | should not | should | 0 | | Brian | manager | 204 | should not | should | 0 | | Brian | editor | 204 | should not | should | 0 | | Brian | viewer | 403 | should | should not | 12 | Scenario: An user is unable to delete a Space via the webDav API When user "Alice" removes the folder "" from space "delete objects" Then the HTTP status code should be "405" And the user "Alice" should have a space called "delete objects" with these key and value pairs: | key | value | | name | delete objects |