Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2021-09-24 16:00:46 +0300
committerJoas Schilling <coding@schilljs.com>2021-10-07 19:18:31 +0300
commit1c641f8c64a80753fc46ec27e622c696f1f93fc8 (patch)
treea4e529e343282f34fcefb6ce416e4d4561e5aa96 /tests
parentb575c8e831b26b5c0c19a381e7207ac0c3c3d861 (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.php25
-rw-r--r--tests/integration/features/conversation-2/set-permissions.feature76
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 |