Files
glb_adm 01acfa3b40
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
UPSTREAM BASELINE: nextcloud/spreed v22.0.12 (без изменений)
Источник: https://github.com/nextcloud/spreed/archive/refs/tags/v22.0.12.tar.gz
С этого коммита ветка официального Nextcloud Talk отрезана (решение владельца 2026-07-06).
Все дальнейшие изменения — только наши; версии релизов: 22.0.12-f7.N.
2026-07-06 14:07:50 +00:00

218 lines
11 KiB
Gherkin

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)