UPSTREAM BASELINE: nextcloud/spreed v22.0.12 (без изменений)
Type checking / changes (push) Has been cancelled
Type checking / test (push) Has been cancelled
Type checking / typescript-summary (push) Has been cancelled
Node tests / changes (push) Has been cancelled
Node tests / test (push) Has been cancelled
Node tests / test-summary (push) Has been cancelled
Type checking / changes (push) Has been cancelled
Type checking / test (push) Has been cancelled
Type checking / typescript-summary (push) Has been cancelled
Node tests / changes (push) Has been cancelled
Node tests / test (push) Has been cancelled
Node tests / test-summary (push) Has been cancelled
Источник: https://github.com/nextcloud/spreed/archive/refs/tags/v22.0.12.tar.gz С этого коммита ветка официального Nextcloud Talk отрезана (решение владельца 2026-07-06). Все дальнейшие изменения — только наши; версии релизов: 22.0.12-f7.N.
This commit is contained in:
@@ -0,0 +1,211 @@
|
||||
Feature: conversation-2/password-request
|
||||
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
Given user "participant2" exists
|
||||
Given user "participant3" exists
|
||||
|
||||
Scenario: create password-request room for file shared by link
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
When user "guest" creates the password request room for last share with 201 (v1)
|
||||
Then user "participant1" is participant of room "password request for last share room" (v4)
|
||||
| name | type | participantType |
|
||||
| welcome.txt | 3 | 1 |
|
||||
And user "participant1" sees the following attendees in room "welcome.txt" with 200 (v4)
|
||||
| actorType | actorId | participantType |
|
||||
| users | participant1 | 1 |
|
||||
And user "guest" is not participant of room "password request for last share room" (v4)
|
||||
|
||||
Scenario: create password-request room for folder shared by link
|
||||
Given user "participant1" creates folder "/test"
|
||||
And user "participant1" shares "test" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
When user "guest" creates the password request room for last share with 201 (v1)
|
||||
Then user "participant1" is participant of room "password request for last share room" (v4)
|
||||
| name | type | participantType |
|
||||
| test | 3 | 1 |
|
||||
And user "participant1" sees the following attendees in room "test" with 200 (v4)
|
||||
| actorType | actorId | participantType |
|
||||
| users | participant1 | 1 |
|
||||
And user "guest" is not participant of room "password request for last share room" (v4)
|
||||
|
||||
Scenario: create password-request room for folder reshared by link
|
||||
Given user "participant1" creates folder "/test"
|
||||
And user "participant1" shares "test" with user "participant2" with OCS 100
|
||||
And user "participant2" shares "test" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
When user "guest" creates the password request room for last share with 201 (v1)
|
||||
Then user "participant2" is participant of room "password request for last share room" (v4)
|
||||
| name | type | participantType |
|
||||
| test | 3 | 1 |
|
||||
And user "participant2" sees the following attendees in room "test" with 200 (v4)
|
||||
| actorType | actorId | participantType |
|
||||
| users | participant2 | 1 |
|
||||
And user "participant1" is not participant of room "password request for last share room" (v4)
|
||||
And user "guest" is not participant of room "password request for last share room" (v4)
|
||||
|
||||
Scenario: create password-request room for file shared by link but not protected by Talk
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
When user "guest" creates the password request room for last share with 404 (v1)
|
||||
|
||||
|
||||
|
||||
# Creating and joining the password request room is a two steps process.
|
||||
# Technically one guest or user could create the room and a different one
|
||||
# join it, but it does not really matter who created the room, only who joins
|
||||
# it and talks with the owner (and, besides that, the WebUI joins the room
|
||||
# immediately after creating it).
|
||||
|
||||
Scenario: guest can join the password request room
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "guest" creates the password request room for last share with 201 (v1)
|
||||
When user "guest" joins room "password request for last share room" with 200 (v4)
|
||||
Then user "guest" is participant of room "password request for last share room" (v4)
|
||||
|
||||
Scenario: user can join the password request room
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "participant2" creates the password request room for last share with 201 (v1)
|
||||
When user "participant2" joins room "password request for last share room" with 200 (v4)
|
||||
Then user "participant2" is participant of room "password request for last share room" (v4)
|
||||
|
||||
Scenario: owner can join the password request room
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "guest" creates the password request room for last share with 201 (v1)
|
||||
When user "participant1" joins room "password request for last share room" with 200 (v4)
|
||||
|
||||
Scenario: other guests can not join the password request room when a guest already joined
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "guest" creates the password request room for last share with 201 (v1)
|
||||
And user "guest" joins room "password request for last share room" with 200 (v4)
|
||||
When user "guest2" joins room "password request for last share room" with 404 (v4)
|
||||
Then user "guest2" is not participant of room "password request for last share room" (v4)
|
||||
|
||||
Scenario: other guests can not join the password request room when a user already joined
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "participant2" creates the password request room for last share with 201 (v1)
|
||||
And user "participant2" joins room "password request for last share room" with 200 (v4)
|
||||
When user "guest" joins room "password request for last share room" with 404 (v4)
|
||||
Then user "guest" is not participant of room "password request for last share room" (v4)
|
||||
|
||||
Scenario: other users can not join the password request room when a guest already joined
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "guest" creates the password request room for last share with 201 (v1)
|
||||
And user "guest" joins room "password request for last share room" with 200 (v4)
|
||||
When user "participant2" joins room "password request for last share room" with 404 (v4)
|
||||
Then user "participant2" is not participant of room "password request for last share room" (v4)
|
||||
|
||||
Scenario: other users can not join the password request room when a user already joined
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "participant2" creates the password request room for last share with 201 (v1)
|
||||
And user "participant2" joins room "password request for last share room" with 200 (v4)
|
||||
When user "participant3" joins room "password request for last share room" with 404 (v4)
|
||||
Then user "participant3" is not participant of room "password request for last share room" (v4)
|
||||
|
||||
|
||||
|
||||
Scenario: owner can not add other users to a password request room
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "guest" creates the password request room for last share with 201 (v1)
|
||||
And user "participant1" joins room "password request for last share room" with 200 (v4)
|
||||
When user "participant1" adds user "participant2" to room "password request for last share room" with 400 (v4)
|
||||
Then user "participant2" is not participant of room "password request for last share room" (v4)
|
||||
|
||||
|
||||
|
||||
Scenario: guest leaves the password request room
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "guest" creates the password request room for last share with 201 (v1)
|
||||
And user "guest" joins room "password request for last share room" with 200 (v4)
|
||||
And user "participant1" joins room "password request for last share room" with 200 (v4)
|
||||
When user "guest" leaves room "password request for last share room" with 200 (v4)
|
||||
Then user "participant1" is not participant of room "password request for last share room" (v4)
|
||||
And user "guest" is not participant of room "password request for last share room" (v4)
|
||||
|
||||
Scenario: user leaves the password request room
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "participant2" creates the password request room for last share with 201 (v1)
|
||||
And user "participant2" joins room "password request for last share room" with 200 (v4)
|
||||
And user "participant1" joins room "password request for last share room" with 200 (v4)
|
||||
When user "participant2" leaves room "password request for last share room" with 200 (v4)
|
||||
Then user "participant1" is not participant of room "password request for last share room" (v4)
|
||||
And user "participant2" is not participant of room "password request for last share room" (v4)
|
||||
|
||||
Scenario: owner leaves the password request room
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "guest" creates the password request room for last share with 201 (v1)
|
||||
And user "guest" joins room "password request for last share room" with 200 (v4)
|
||||
And user "participant1" joins room "password request for last share room" with 200 (v4)
|
||||
When user "participant1" leaves room "password request for last share room" with 200 (v4)
|
||||
Then user "participant1" is not participant of room "password request for last share room" (v4)
|
||||
And user "guest" is not participant of room "password request for last share room" (v4)
|
||||
|
||||
|
||||
|
||||
Scenario: guest can start a call
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "guest" creates the password request room for last share with 201 (v1)
|
||||
And user "guest" joins room "password request for last share room" with 200 (v4)
|
||||
When user "guest" joins call "password request for last share room" with 200 (v4)
|
||||
Then user "guest" sees 1 peers in call "password request for last share room" with 200 (v4)
|
||||
And user "participant1" sees 1 peers in call "password request for last share room" with 200 (v4)
|
||||
|
||||
Scenario: owner can join a call
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "guest" creates the password request room for last share with 201 (v1)
|
||||
And user "guest" joins room "password request for last share room" with 200 (v4)
|
||||
And user "participant1" joins room "password request for last share room" with 200 (v4)
|
||||
And user "guest" joins call "password request for last share room" with 200 (v4)
|
||||
When user "participant1" joins call "password request for last share room" with 200 (v4)
|
||||
Then user "guest" sees 2 peers in call "password request for last share room" with 200 (v4)
|
||||
And user "participant1" sees 2 peers in call "password request for last share room" with 200 (v4)
|
||||
|
||||
|
||||
|
||||
Scenario: participants can send and receive chat messages
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
| sendPasswordByTalk | true |
|
||||
And user "guest" creates the password request room for last share with 201 (v1)
|
||||
And user "participant1" joins room "password request for last share room" with 200 (v4)
|
||||
And user "guest" joins room "password request for last share room" with 200 (v4)
|
||||
When user "participant1" sends message "Message 1" to room "password request for last share room" with 201
|
||||
And user "guest" sends message "Message 2" to room "password request for last share room" with 201
|
||||
Then user "participant1" sees the following messages in room "password request for last share room" with 200
|
||||
| room | actorType | actorId | actorDisplayName | message | messageParameters |
|
||||
| password request for last share room | guests | guest | | Message 2 | [] |
|
||||
| password request for last share room | users | participant1 | participant1-displayname | Message 1 | [] |
|
||||
And user "guest" sees the following messages in room "password request for last share room" with 200
|
||||
| room | actorType | actorId | actorDisplayName | message | messageParameters |
|
||||
| password request for last share room | guests | guest | | Message 2 | [] |
|
||||
| password request for last share room | users | participant1 | participant1-displayname | Message 1 | [] |
|
||||
@@ -0,0 +1,135 @@
|
||||
Feature: conversation-2/promotion-demotion
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
Given user "participant2" exists
|
||||
Given user "participant3" exists
|
||||
|
||||
Scenario: Owner promotes/demotes moderator
|
||||
Given signaling server is started
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 3 |
|
||||
And user "participant1" loads attendees attendee ids in room "room" (v4)
|
||||
And reset signaling server requests
|
||||
When user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
Then signaling server received the following requests
|
||||
| token | data |
|
||||
| room | {"type":"message","message":{"data":{"type":"chat","chat":{"refresh":true}}}} |
|
||||
# TODO remove handler with "roomModified" in favour of handler with
|
||||
# "participantsModified" once the clients no longer expect a
|
||||
# "roomModified" message for participant type changes.
|
||||
| room | {"type":"update","update":{"userids":["participant1","participant2"],"properties":{"name":"Private conversation","type":3,"lobby-state":0,"lobby-timer":null,"read-only":0,"listable":0,"active-since":null,"sip-enabled":0,"description":""}}} |
|
||||
| room | {"type":"participants","participants":{"changed":[],"users":[{"inCall":0,"lastPing":0,"sessionId":"0","participantType":1,"participantPermissions":1,"displayName":"participant1-displayname","actorType":"users","actorId":"participant1","userId":"participant1"},{"inCall":0,"lastPing":0,"sessionId":"0","participantType":2,"participantPermissions":1,"displayName":"participant2-displayname","actorType":"users","actorId":"participant2","userId":"participant2"}]}} |
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 2 |
|
||||
And user "participant1" demotes "participant2" in room "room" with 200 (v4)
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 3 |
|
||||
|
||||
Scenario: Moderator promotes/demotes moderator
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" adds user "participant3" to room "room" with 200 (v4)
|
||||
And user "participant3" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 3 |
|
||||
And user "participant1" loads attendees attendee ids in room "room" (v4)
|
||||
And user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
And user "participant1" sets permissions for "participant3" in room "room" to "L" with 200 (v4)
|
||||
Then user "participant1" sees the following attendees in room "room" with 200 (v4)
|
||||
| actorType | actorId | permissions |
|
||||
| users | participant1 | SJLAVPM |
|
||||
| users | participant2 | SJLAVPM |
|
||||
| users | participant3 | CL |
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 3 |
|
||||
When user "participant2" promotes "participant3" in room "room" with 200 (v4)
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 2 |
|
||||
Then user "participant1" sees the following attendees in room "room" with 200 (v4)
|
||||
| actorType | actorId | permissions |
|
||||
| users | participant1 | SJLAVPM |
|
||||
| users | participant2 | SJLAVPM |
|
||||
| users | participant3 | SJLAVPM |
|
||||
When user "participant2" demotes "participant3" in room "room" with 200 (v4)
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 3 |
|
||||
Then user "participant1" sees the following attendees in room "room" with 200 (v4)
|
||||
| actorType | actorId | permissions |
|
||||
| users | participant1 | SJLAVPM |
|
||||
| users | participant2 | SJLAVPM |
|
||||
| users | participant3 | SJAVPM |
|
||||
|
||||
Scenario: Moderator promotes self-joined user
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant2" joins room "room" with 200 (v4)
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 5 |
|
||||
And user "participant1" loads attendees attendee ids in room "room" (v4)
|
||||
And user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 2 |
|
||||
When user "participant1" demotes "participant2" in room "room" with 200 (v4)
|
||||
Then user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 3 |
|
||||
|
||||
Scenario: User promotes/demotes moderator
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" adds user "participant3" to room "room" with 200 (v4)
|
||||
And user "participant3" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 3 |
|
||||
And user "participant1" loads attendees attendee ids in room "room" (v4)
|
||||
When user "participant2" promotes "participant3" in room "room" with 403 (v4)
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 3 |
|
||||
When user "participant1" promotes "participant3" in room "room" with 200 (v4)
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 2 |
|
||||
When user "participant2" demotes "participant3" in room "room" with 403 (v4)
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 2 |
|
||||
|
||||
Scenario: Stranger promotes/demotes moderator
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant3" to room "room" with 200 (v4)
|
||||
And user "participant3" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 3 |
|
||||
And user "participant1" loads attendees attendee ids in room "room" (v4)
|
||||
When user "participant2" promotes "participant3" in room "room" with 404 (v4)
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 3 |
|
||||
When user "participant1" promotes "participant3" in room "room" with 200 (v4)
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 2 |
|
||||
When user "participant2" demotes "participant3" in room "room" with 404 (v4)
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 2 |
|
||||
@@ -0,0 +1,217 @@
|
||||
Feature: conversation-2/remove-participant
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
Given user "participant2" exists
|
||||
Given user "participant3" exists
|
||||
|
||||
#
|
||||
# Removing an owner
|
||||
#
|
||||
Scenario: Owner removes self participant from empty public room
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" is participant of room "room" (v4)
|
||||
When user "participant1" removes "participant1" from room "room" with 200 (v4)
|
||||
Then user "participant1" is not participant of room "room" (v4)
|
||||
|
||||
Scenario: Owner removes self participant from public room when there are other users in the room
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
And user "participant1" loads attendees attendee ids in room "room" (v4)
|
||||
When user "participant1" removes "participant1" from room "room" with 400 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
|
||||
Scenario: Owner removes self participant from public room when there are other moderators in the room
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
And user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
When user "participant1" removes "participant1" from room "room" with 200 (v4)
|
||||
Then user "participant1" is not participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
|
||||
#
|
||||
# Removing a moderator
|
||||
#
|
||||
Scenario: Owner removes moderator
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant3" to room "room" with 200 (v4)
|
||||
And user "participant1" promotes "participant3" in room "room" with 200 (v4)
|
||||
And user "participant3" is participant of room "room" (v4)
|
||||
When user "participant1" removes "participant3" from room "room" with 200 (v4)
|
||||
Then user "participant3" is not participant of room "room" (v4)
|
||||
|
||||
Scenario: Moderator removes moderator
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
And user "participant1" adds user "participant3" to room "room" with 200 (v4)
|
||||
And user "participant1" promotes "participant3" in room "room" with 200 (v4)
|
||||
And user "participant3" is participant of room "room" (v4)
|
||||
When user "participant2" removes "participant3" from room "room" with 200 (v4)
|
||||
Then user "participant3" is not participant of room "room" (v4)
|
||||
|
||||
Scenario: Moderator removes self participant from empty public room
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
And user "participant1" removes "participant1" from room "room" with 200 (v4)
|
||||
And user "participant1" is not participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
When user "participant2" removes "participant2" from room "room" with 200 (v4)
|
||||
Then user "participant2" is not participant of room "room" (v4)
|
||||
|
||||
Scenario: Moderator removes self participant from public room when there are other users in the room
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
And user "participant1" removes "participant1" from room "room" with 200 (v4)
|
||||
And user "participant1" is not participant of room "room" (v4)
|
||||
And user "participant2" adds user "participant3" to room "room" with 200 (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
And user "participant3" is participant of room "room" (v4)
|
||||
When user "participant2" removes "participant2" from room "room" with 400 (v4)
|
||||
Then user "participant2" is participant of room "room" (v4)
|
||||
And user "participant3" is participant of room "room" (v4)
|
||||
|
||||
Scenario: Moderator removes self participant from public room when there are other moderators in the room
|
||||
Given signaling server is started
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
And reset signaling server requests
|
||||
And user "participant1" removes "participant1" from room "room" with 200 (v4)
|
||||
Then signaling server received the following requests
|
||||
| token | data |
|
||||
| room | {"type":"message","message":{"data":{"type":"chat","chat":{"refresh":true}}}} |
|
||||
| room | {"type":"disinvite","disinvite":{"userids":["participant1"],"alluserids":["participant2"],"properties":{"name":"Private conversation","type":3,"lobby-state":0,"lobby-timer":null,"read-only":0,"listable":0,"active-since":null,"sip-enabled":0,"participant-list":"refresh"}}} |
|
||||
And user "participant1" is not participant of room "room" (v4)
|
||||
And user "participant2" adds user "participant3" to room "room" with 200 (v4)
|
||||
And user "participant2" promotes "participant3" in room "room" with 200 (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
And user "participant3" is participant of room "room" (v4)
|
||||
When user "participant2" removes "participant2" from room "room" with 200 (v4)
|
||||
Then user "participant2" is not participant of room "room" (v4)
|
||||
And user "participant3" is participant of room "room" (v4)
|
||||
|
||||
Scenario: User removes moderator
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" adds user "participant3" to room "room" with 200 (v4)
|
||||
And user "participant1" promotes "participant3" in room "room" with 200 (v4)
|
||||
And user "participant3" is participant of room "room" (v4)
|
||||
When user "participant2" removes "participant3" from room "room" with 403 (v4)
|
||||
Then user "participant3" is participant of room "room" (v4)
|
||||
|
||||
Scenario: Stranger removes moderator
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant3" to room "room" with 200 (v4)
|
||||
And user "participant1" promotes "participant3" in room "room" with 200 (v4)
|
||||
And user "participant3" is participant of room "room" (v4)
|
||||
When user "participant2" removes "participant3" from room "room" with 404 (v4)
|
||||
Then user "participant3" is participant of room "room" (v4)
|
||||
|
||||
#
|
||||
# Removing a user
|
||||
#
|
||||
Scenario: Owner removes user
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant3" to room "room" with 200 (v4)
|
||||
And user "participant3" is participant of room "room" (v4)
|
||||
When user "participant1" removes "participant3" from room "room" with 200 (v4)
|
||||
Then user "participant3" is not participant of room "room" (v4)
|
||||
|
||||
Scenario: Moderator removes user
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
And user "participant1" adds user "participant3" to room "room" with 200 (v4)
|
||||
And user "participant3" is participant of room "room" (v4)
|
||||
When user "participant2" removes "participant3" from room "room" with 200 (v4)
|
||||
Then user "participant3" is not participant of room "room" (v4)
|
||||
|
||||
Scenario: User removes user
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" adds user "participant3" to room "room" with 200 (v4)
|
||||
And user "participant3" is participant of room "room" (v4)
|
||||
And user "participant1" loads attendees attendee ids in room "room" (v4)
|
||||
When user "participant2" removes "participant3" from room "room" with 403 (v4)
|
||||
Then user "participant3" is participant of room "room" (v4)
|
||||
|
||||
Scenario: Stranger removes user
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant3" to room "room" with 200 (v4)
|
||||
And user "participant3" is participant of room "room" (v4)
|
||||
And user "participant1" loads attendees attendee ids in room "room" (v4)
|
||||
When user "participant2" removes "participant3" from room "room" with 404 (v4)
|
||||
Then user "participant3" is participant of room "room" (v4)
|
||||
|
||||
#
|
||||
# Removing a stranger
|
||||
#
|
||||
Scenario: Owner removes stranger
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant3" is not participant of room "room" (v4)
|
||||
When user "participant1" removes "stranger" from room "room" with 404 (v4)
|
||||
Then user "participant3" is not participant of room "room" (v4)
|
||||
|
||||
Scenario: Moderator removes stranger
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
When user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
And user "participant3" is not participant of room "room" (v4)
|
||||
When user "participant2" removes "stranger" from room "room" with 404 (v4)
|
||||
Then user "participant3" is not participant of room "room" (v4)
|
||||
|
||||
Scenario: User removes stranger
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant3" is not participant of room "room" (v4)
|
||||
When user "participant2" removes "stranger" from room "room" with 403 (v4)
|
||||
And user "participant3" is not participant of room "room" (v4)
|
||||
|
||||
Scenario: Stranger removes stranger
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant3" is not participant of room "room" (v4)
|
||||
When user "participant2" removes "stranger" from room "room" with 404 (v4)
|
||||
And user "participant3" is not participant of room "room" (v4)
|
||||
@@ -0,0 +1,81 @@
|
||||
Feature: conversation-2/remove-self
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
Given user "participant2" exists
|
||||
Given user "participant3" exists
|
||||
|
||||
Scenario: Owner removes the room from their room list
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
Then user "participant1" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 1 |
|
||||
And user "participant2" is not participant of room "room" (v4)
|
||||
And user "participant3" is not participant of room "room" (v4)
|
||||
When user "participant1" removes themselves from room "room" with 200 (v4)
|
||||
Then user "participant1" is not participant of room "room" (v4)
|
||||
|
||||
Scenario: Moderator removes the room from their room list
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 2 |
|
||||
And user "participant2" sees the following attendees in room "room" with 200 (v4)
|
||||
| actorType | actorId | participantType |
|
||||
| users | participant1 | 1 |
|
||||
| users | participant2 | 2 |
|
||||
And user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
When user "participant2" removes themselves from room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is not participant of room "room" (v4)
|
||||
|
||||
Scenario: Last moderator removes the room from their room list
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
When user "participant1" removes themselves from room "room" with 200 (v4)
|
||||
Then user "participant2" gets room "room" with 404 (v4)
|
||||
|
||||
Scenario: User removes the room from their room list
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 3 |
|
||||
And user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
When user "participant2" removes themselves from room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is not participant of room "room" (v4)
|
||||
|
||||
Scenario: Self joined user removes the room from their room list
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant2" joins room "room" with 200 (v4)
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 3 | 5 |
|
||||
And user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
When user "participant2" removes themselves from room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is not participant of room "room" (v4)
|
||||
|
||||
Scenario: Stranger removes the room from their room list
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is not participant of room "room" (v4)
|
||||
When user "participant2" removes themselves from room "room" with 404 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is not participant of room "room" (v4)
|
||||
@@ -0,0 +1,46 @@
|
||||
Feature: conversation-2/rename-room
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
Given user "participant2" exists
|
||||
Given user "participant3" exists
|
||||
|
||||
Scenario: Owner renames
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" is participant of room "room" (v4)
|
||||
When user "participant1" renames room "room" to "new name" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
|
||||
Scenario: Moderator renames
|
||||
Given signaling server is started
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" is participant of room "room" (v4)
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
And user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
And reset signaling server requests
|
||||
When user "participant2" renames room "room" to "new name" with 200 (v4)
|
||||
Then signaling server received the following requests
|
||||
| token | data |
|
||||
| room | {"type":"message","message":{"data":{"type":"chat","chat":{"refresh":true}}}} |
|
||||
| room | {"type":"update","update":{"userids":["participant1","participant2"],"properties":{"name":"Private conversation","type":3,"lobby-state":0,"lobby-timer":null,"read-only":0,"listable":0,"active-since":null,"sip-enabled":0,"description":""}}} |
|
||||
|
||||
Scenario: User renames
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" is participant of room "room" (v4)
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
When user "participant2" renames room "room" to "new name" with 403 (v4)
|
||||
|
||||
Scenario: Stranger renames
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is not participant of room "room" (v4)
|
||||
When user "participant2" renames room "room" to "new name" with 404 (v4)
|
||||
Reference in New Issue
Block a user