Skip to content

Commit

Permalink
add test to check api activities with sort filter
Browse files Browse the repository at this point in the history
Signed-off-by: prashant-gurung899 <[email protected]>
  • Loading branch information
prashant-gurung899 committed Oct 7, 2024
1 parent ddfed73 commit a38a93b
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 2 deletions.
2 changes: 1 addition & 1 deletion tests/acceptance/TestHelpers/GraphHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -2344,7 +2344,7 @@ public static function getPermissionRoleDefinition(
* @param string $user
* @param string $password
* @param string $resourceId
* @param array $filterParams
* @param array|null $filterParams
*
* @return ResponseInterface
*/
Expand Down
32 changes: 31 additions & 1 deletion tests/acceptance/bootstrap/GraphContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -2935,7 +2935,7 @@ public function thePublicTriesToCheckTheActivitiesOfResourceFromSpaceOwnedByUser
}

/**
* @When /^user "([^"]*)" lists the activities of (?:folder|file) "([^"]*)" from space "([^"]*)" with (depth|limit) "([^"]*)" using the Graph API/
* @When /^user "([^"]*)" lists the activities of (?:folder|file) "([^"]*)" from space "([^"]*)" with (depth|limit|sort) "([^"]*)" using the Graph API/
*
* @param string $user
* @param string $resource
Expand All @@ -2958,6 +2958,36 @@ public function userListsTheActivitiesForFolderOfSpaceWithDepthOrLimitUsingTheGr
$this->featureContext->setResponse($response);
}

/**
* @Then the activities should be in the following order:
*
* @param TableNode $table
*
* @return void
* @throws Exception
*/
public function theActivitiesShouldBeInTheFollowingOrder(TableNode $table): void {
$responseBody = $this->featureContext->getJsonDecodedResponseBodyContent();
$activities = $responseBody->value;
$expectedOrder = [];
foreach ($table->getHash() as $row) {
$expectedOrder[] = [
'resource' => $row['resource'],
'message' => $row['message']
];
}

foreach ($expectedOrder as $index => $expectedActivity) {
$actualActivity = $activities[$index];
if ($actualActivity->template->variables->resource->name !== $expectedActivity['resource']) {
throw new Exception("Expected resource '{$expectedActivity['resource']}' but got '{$actualActivity->template->variables->resource->name}' at index {$index}.");
}
if ($actualActivity->template->message !== $expectedActivity['message']) {
throw new Exception("Expected message '{$expectedActivity['message']}' but got '{$actualActivity->template->message}' at index {$index}.");
}
}
}

/**
* @When the administrator gets federated users using the Graph API
* @When user :user tries to get federated users using the Graph API
Expand Down
20 changes: 20 additions & 0 deletions tests/acceptance/features/apiActivities/activities.feature
Original file line number Diff line number Diff line change
Expand Up @@ -2134,6 +2134,26 @@ Feature: check activities
}
"""


Scenario: check activity with sort filter
Given user "Alice" has created folder "/New Folder"
And user "Alice" has uploaded file with content "ownCloud test text file 0" to "/New Folder/textfile.txt"
And user "Alice" has uploaded file with content "updated ownCloud test text file" to "/New Folder/textfile.txt"
When user "Alice" lists the activities of folder "New Folder" from space "Personal" with sort "asc" using the Graph API
Then the HTTP status code should be "200"
And the activities should be in the following order:
| resource | message |
| New Folder | {user} added {resource} to {folder} |
| textfile.txt | {user} added {resource} to {folder} |
| textfile.txt | {user} updated {resource} in {folder} |
When user "Alice" lists the activities of folder "New Folder" from space "Personal" with sort "desc" using the Graph API
Then the HTTP status code should be "200"
And the activities should be in the following order:
| resource | message |
| textfile.txt | {user} updated {resource} in {folder} |
| textfile.txt | {user} added {resource} to {folder} |
| New Folder | {user} added {resource} to {folder} |

@issue-9860
Scenario: user tries to check activities of another user's file
Given user "Brian" has been created with default attributes and without skeleton files
Expand Down

0 comments on commit a38a93b

Please sign in to comment.