From fc5b4b23243eada708f1c2b49dae2547d40607ae Mon Sep 17 00:00:00 2001 From: Niraj Acharya <nirajacharyacode@gmail.com> Date: Wed, 17 Apr 2024 12:12:51 +0545 Subject: [PATCH] adding test for trying to enable sync with invalid remote item id --- .../enableDisableShareSync.feature | 46 +++++++++++++++++++ .../features/bootstrap/SharingNgContext.php | 20 ++++++++ 2 files changed, 66 insertions(+) diff --git a/tests/acceptance/features/apiSharingNg/enableDisableShareSync.feature b/tests/acceptance/features/apiSharingNg/enableDisableShareSync.feature index 1e9f7a3596d..08b0a4fb580 100644 --- a/tests/acceptance/features/apiSharingNg/enableDisableShareSync.feature +++ b/tests/acceptance/features/apiSharingNg/enableDisableShareSync.feature @@ -297,3 +297,49 @@ Feature: enable or disable sync of incoming shares | resource | | textfile0.txt | | FolderToShare | + + @issue-8724 + Scenario: trying to enable share sync using non-existing remote item-id + Given user "Alice" has uploaded file with content "hello world" to "textfile0.txt" + And user "Alice" has sent the following share invitation: + | resource | textfile0.txt | + | space | Personal | + | sharee | Brian | + | shareType | user | + | permissionsRole | Viewer | + When user "Brian" tries to enable share sync of non-existing item using the Graph API + Then the HTTP status code should be "400" + And the JSON data of the response should match + """ + { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "object", + "required": [ + "code", + "innererror", + "message" + ], + "properties": { + "code" : { + "const": "invalidRequest" + }, + "innererror" : { + "type": "object", + "required": [ + "date", + "request-id" + ] + }, + "message" : { + "const": "mounting share failed" + } + } + } + } + } + """ \ No newline at end of file diff --git a/tests/acceptance/features/bootstrap/SharingNgContext.php b/tests/acceptance/features/bootstrap/SharingNgContext.php index ef510e191e5..4e942d10ffd 100644 --- a/tests/acceptance/features/bootstrap/SharingNgContext.php +++ b/tests/acceptance/features/bootstrap/SharingNgContext.php @@ -714,6 +714,26 @@ public function userEnablesSyncOfShareUsingTheGraphApi(string $user, string $sha $this->featureContext->setResponse($response); } + /** + * @When user :user tries to enable share sync of non-existing item using the Graph API + * + * @param string $user + * + * @return void + */ + public function userTriesToEnablsSyncOfShareOfferedByFromSpaceUsingTheGraphApi(string $user):void { + $shareSpaceId = FeatureContext::SHARES_SPACE_ID; + $response = GraphHelper::enableShareSync( + $this->featureContext->getBaseUrl(), + $this->featureContext->getStepLineRef(), + $this->featureContext->getActualUsername($user), + $this->featureContext->getPasswordForUser($user), + "", + $shareSpaceId + ); + $this->featureContext->setResponse($response); + } + /** * @Then /^user "([^"]*)" should have sync (enabled|disabled) for share "([^"]*)"$/ *