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

Источник: 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:
2026-07-06 14:07:50 +00:00
commit 01acfa3b40
1716 changed files with 613013 additions and 0 deletions
@@ -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)