diff --git a/tests/acceptance/bootstrap/GraphContext.php b/tests/acceptance/bootstrap/GraphContext.php index b794575ff06..2516d084800 100644 --- a/tests/acceptance/bootstrap/GraphContext.php +++ b/tests/acceptance/bootstrap/GraphContext.php @@ -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 @@ -2958,6 +2958,26 @@ 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; + + foreach ($table->getHash() as $property => $expectedValue) { + $actualActivity = $activities[$property]; + $expectedActivity = $expectedValue['resource'] . ":" . $expectedValue['message']; + $actualActivity = $actualActivity->template->variables->resource->name . ":" . $actualActivity->template->message; + Assert::assertEquals($expectedActivity, $actualActivity, "Expected: $actualActivity but got $expectedActivity"); + } + } + /** * @When the administrator gets federated users using the Graph API * @When user :user tries to get federated users using the Graph API diff --git a/tests/acceptance/features/apiActivities/activities.feature b/tests/acceptance/features/apiActivities/activities.feature index 3800f6cde4a..c1066229a20 100644 --- a/tests/acceptance/features/apiActivities/activities.feature +++ b/tests/acceptance/features/apiActivities/activities.feature @@ -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