diff --git a/tests/acceptance/features/bootstrap/WebDav.php b/tests/acceptance/features/bootstrap/WebDav.php index ed1d2a0850b..e3371e40714 100644 --- a/tests/acceptance/features/bootstrap/WebDav.php +++ b/tests/acceptance/features/bootstrap/WebDav.php @@ -2700,6 +2700,30 @@ public function userDeletesFile(string $user, string $resource):void { $this->pushToLastStatusCodesArrays(); } + /** + * @When user :user deletes file :filename from space :space by file-id using the WebDAV API + * + * @param string $user + * @param string $filename + * @param string $space + * + * @return void + */ + public function deleteFileById(string $user, string $filename, string $space):void { + $resourceId = $this->spacesContext->getFileId($user, $space, $filename); + $requestUrl = $this->getBaseUrl() . "/" . $this->getSpacesDavPath() . "/" . $resourceId; + $password = $this->getPasswordForUser($user); + $response = HttpRequestHelper::sendRequest( + $requestUrl, + null, + 'DELETE', + $user, + $password + ); + $this->setResponse($response); + $this->pushToLastStatusCodesArrays(); + } + /** * @Given /^user "([^"]*)" has deleted (?:file|folder|entity) "([^"]*)"$/ * diff --git a/tests/acceptance/features/coreApiWebdavDelete/deleteFile.feature b/tests/acceptance/features/coreApiWebdavDelete/deleteFile.feature index 397870c778e..9bd74524886 100644 --- a/tests/acceptance/features/coreApiWebdavDelete/deleteFile.feature +++ b/tests/acceptance/features/coreApiWebdavDelete/deleteFile.feature @@ -137,3 +137,13 @@ Feature: delete file When user "Alice" deletes file "/zerobyte.txt" using the WebDAV API Then the HTTP status code should be "204" And as "Alice" file "/zerobyte.txt" should not exist + + + Scenario: delete a file using file-id + Given using spaces DAV path + And user "Alice" has uploaded file with content "special file" to "/textfile.txt" + And as "Alice" file "/textfile.txt" should exist + When user "Alice" deletes file "/textfile.txt" from space "Personal" by file-id using the WebDAV API + Then the HTTP status code should be "204" + And as "Alice" file "/textfile.txt" should not exist +