[full-ci] [tests-only] Added tests for enabling share sync with empty resource id (#8963)

* Added tests for enabling share sync with empty resource id

* Addressed reviews
This commit is contained in:
Prarup Gurung
2024-04-26 14:20:59 +05:45
committed by GitHub
parent b7d9ae89ee
commit f7fb0bc591
2 changed files with 48 additions and 5 deletions
@@ -300,7 +300,8 @@ Feature: enable or disable sync of incoming shares
@issue-8724 @issue-8724
Scenario: try to enable share sync of a non-existent resource Scenario: try to enable share sync of a non-existent resource
When user "Brian" tries to enable share sync of a non-existent resource using the Graph API Given user "Brian" has disabled the auto-sync share
When user "Brian" tries to enable share sync of a resource "nonexistent" using the Graph API
Then the HTTP status code should be "400" Then the HTTP status code should be "400"
And the JSON data of the response should match And the JSON data of the response should match
""" """
@@ -334,3 +335,41 @@ Feature: enable or disable sync of incoming shares
} }
} }
""" """
Scenario: try to enable share sync with empty resource id
Given user "Brian" has disabled the auto-sync share
When user "Brian" tries to enable share sync of a resource "" 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": "invalid id"
}
}
}
}
}
"""
@@ -165,7 +165,7 @@ class SharingNgContext implements Context {
public function userTriesToListThePermissionsOfSpaceUsingPermissionsEndpointOfTheGraphApi(string $user, string $space, string $spaceOwner):void { public function userTriesToListThePermissionsOfSpaceUsingPermissionsEndpointOfTheGraphApi(string $user, string $space, string $spaceOwner):void {
$spaceId = ($this->spacesContext->getSpaceByName($spaceOwner, $space))["id"]; $spaceId = ($this->spacesContext->getSpaceByName($spaceOwner, $space))["id"];
$itemId = $this->spacesContext->getResourceId($spaceOwner, $space, ''); $itemId = $this->spacesContext->getResourceId($spaceOwner, $space, '');
$this->featureContext->setResponse( $this->featureContext->setResponse(
GraphHelper::getPermissionsList( GraphHelper::getPermissionsList(
$this->featureContext->getBaseUrl(), $this->featureContext->getBaseUrl(),
@@ -741,20 +741,24 @@ class SharingNgContext implements Context {
} }
/** /**
* @When user :user tries to enable share sync of a non-existent resource using the Graph API * @When user :user tries to enable share sync of a resource :resource using the Graph API
* *
* @param string $user * @param string $user
* @param string $resource
* *
* @return void * @return void
* @throws Exception|GuzzleException
*/ */
public function userTriesToEnablsShareSyncOfNonExistentResourceUsingTheGraphApi(string $user):void { public function userTriesToEnableShareSyncOfResourceUsingTheGraphApi(string $user, string $resource):void {
$shareSpaceId = FeatureContext::SHARES_SPACE_ID; $shareSpaceId = FeatureContext::SHARES_SPACE_ID;
$itemId = ($resource === 'nonexistent') ? WebDavHelper::generateUUIDv4() : '';
$response = GraphHelper::enableShareSync( $response = GraphHelper::enableShareSync(
$this->featureContext->getBaseUrl(), $this->featureContext->getBaseUrl(),
$this->featureContext->getStepLineRef(), $this->featureContext->getStepLineRef(),
$this->featureContext->getActualUsername($user), $this->featureContext->getActualUsername($user),
$this->featureContext->getPasswordForUser($user), $this->featureContext->getPasswordForUser($user),
WebDavHelper::generateUUIDv4(), $itemId,
$shareSpaceId $shareSpaceId
); );
$this->featureContext->setResponse($response); $this->featureContext->setResponse($response);