diff options
author | Joas Schilling <coding@schilljs.com> | 2021-09-24 16:00:46 +0300 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2021-10-07 19:18:31 +0300 |
commit | 1c641f8c64a80753fc46ec27e622c696f1f93fc8 (patch) | |
tree | a4e529e343282f34fcefb6ce416e4d4561e5aa96 /tests | |
parent | b575c8e831b26b5c0c19a381e7207ac0c3c3d861 (diff) |
Add integration tests for default and call permissions
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/integration/features/bootstrap/FeatureContext.php | 25 | ||||
-rw-r--r-- | tests/integration/features/conversation-2/set-permissions.feature | 76 |
2 files changed, 101 insertions, 0 deletions
diff --git a/tests/integration/features/bootstrap/FeatureContext.php b/tests/integration/features/bootstrap/FeatureContext.php index 3fa083c18..4e7a7609f 100644 --- a/tests/integration/features/bootstrap/FeatureContext.php +++ b/tests/integration/features/bootstrap/FeatureContext.php @@ -1157,6 +1157,31 @@ class FeatureContext implements Context, SnippetAcceptingContext { } /** + * @When /^user "([^"]*)" sets (call|default) permissions for room "([^"]*)" to "([^"]*)" with (\d+) \((v4)\)$/ + * + * @param string $user + * @param string $mode + * @param string $identifier + * @param string $permissionsString + * @param int $statusCode + * @param string $apiVersion + */ + public function userSetsPermissionsForRoomTo(string $user, string $mode, string $identifier, string $permissionsString, int $statusCode, string $apiVersion): void { + $permissions = $this->mapPermissionsTestInput($permissionsString); + + $requestParameters = [ + ['permissions', $permissions], + ]; + + $this->setCurrentUser($user); + $this->sendRequest( + 'PUT', '/apps/spreed/api/' . $apiVersion . '/room/' . self::$identifierToToken[$identifier] . '/permissions/' . $mode, + new TableNode($requestParameters) + ); + $this->assertStatusCode($this->response, $statusCode); + } + + /** * @Then /^user "([^"]*)" joins call "([^"]*)" with (\d+) \((v4)\)$/ * * @param string $user diff --git a/tests/integration/features/conversation-2/set-permissions.feature b/tests/integration/features/conversation-2/set-permissions.feature new file mode 100644 index 000000000..a6e00539f --- /dev/null +++ b/tests/integration/features/conversation-2/set-permissions.feature @@ -0,0 +1,76 @@ +Feature: set-publishing-permissions + Background: + Given user "owner" exists + Given user "moderator" exists + Given user "invited user" exists + Given user "not invited user" exists + Given user "not invited but joined user" exists + Given user "not joined user" exists + + Scenario: Owner and moderators can set default permissions users can not + Given user "owner" creates room "group room" (v4) + | roomType | 2 | + | roomName | room | + And user "owner" adds user "moderator" to room "group room" with 200 (v4) + And user "owner" promotes "moderator" in room "group room" with 200 (v4) + And user "owner" adds user "invited user" to room "group room" with 200 (v4) + When user "owner" sets default permissions for room "group room" to "S" with 200 (v4) + When user "moderator" sets default permissions for room "group room" to "AV" with 200 (v4) + When user "invited user" sets default permissions for room "group room" to "D" with 403 (v4) + Then user "owner" sees the following attendees in room "group room" with 200 (v4) + | actorType | actorId | permissions | + | users | owner | SJLAVP | + | users | moderator | SJLAVP | + | users | invited user | CAV | + + Scenario: Owner and moderators can set call permissions users can not + Given user "owner" creates room "group room" (v4) + | roomType | 2 | + | roomName | room | + And user "owner" adds user "moderator" to room "group room" with 200 (v4) + And user "owner" promotes "moderator" in room "group room" with 200 (v4) + And user "owner" adds user "invited user" to room "group room" with 200 (v4) + When user "owner" sets call permissions for room "group room" to "S" with 200 (v4) + When user "moderator" sets call permissions for room "group room" to "AV" with 200 (v4) + When user "invited user" sets call permissions for room "group room" to "D" with 403 (v4) + Then user "owner" sees the following attendees in room "group room" with 200 (v4) + | actorType | actorId | permissions | + | users | owner | SJLAVP | + | users | moderator | SJLAVP | + | users | invited user | CAV | + + Scenario: User setting over call setting over conversation setting over default + Given user "owner" creates room "group room" (v4) + | roomType | 2 | + | roomName | room | + And user "owner" adds user "invited user" to room "group room" with 200 (v4) + When user "owner" sets default permissions for room "group room" to "S" with 200 (v4) + Then user "owner" sees the following attendees in room "group room" with 200 (v4) + | actorType | actorId | permissions | + | users | owner | SJLAVP | + | users | invited user | CS | + When user "owner" sets call permissions for room "group room" to "A" with 200 (v4) + Then user "owner" sees the following attendees in room "group room" with 200 (v4) + | actorType | actorId | permissions | + | users | owner | SJLAVP | + | users | invited user | CA | + And user "owner" sets permissions for "invited user" in room "group room" to "V" with 200 (v4) + Then user "owner" sees the following attendees in room "group room" with 200 (v4) + | actorType | actorId | permissions | + | users | owner | SJLAVP | + | users | invited user | CV | + And user "owner" sets permissions for "invited user" in room "group room" to "D" with 200 (v4) + Then user "owner" sees the following attendees in room "group room" with 200 (v4) + | actorType | actorId | permissions | + | users | owner | SJLAVP | + | users | invited user | CA | + When user "owner" sets call permissions for room "group room" to "D" with 200 (v4) + Then user "owner" sees the following attendees in room "group room" with 200 (v4) + | actorType | actorId | permissions | + | users | owner | SJLAVP | + | users | invited user | CS | + When user "owner" sets default permissions for room "group room" to "D" with 200 (v4) + Then user "owner" sees the following attendees in room "group room" with 200 (v4) + | actorType | actorId | permissions | + | users | owner | SJLAVP | + | users | invited user | SJAVP | |