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

283 lines
19 KiB
Gherkin

Feature: callapi/update-call-flags
Background:
Given user "owner" exists
And user "moderator" exists
And user "invited user" exists
And user "not invited but joined user" exists
Scenario: all participants can update their call flags when in a call
Given signaling server is started
Given user "owner" creates room "public room" (v4)
| roomType | 3 |
| roomName | room |
And user "owner" adds user "moderator" to room "public room" with 200 (v4)
And user "owner" promotes "moderator" in room "public room" with 200 (v4)
And user "owner" adds user "invited user" to room "public room" with 200 (v4)
And user "not invited but joined user" joins room "public room" with 200 (v4)
And user "guest moderator" joins room "public room" with 200 (v4)
And user "owner" promotes "guest moderator" in room "public room" with 200 (v4)
And user "guest" joins room "public room" with 200 (v4)
And user "owner" joins room "public room" with 200 (v4)
And user "moderator" joins room "public room" with 200 (v4)
And user "invited user" joins room "public room" with 200 (v4)
And user "not invited but joined user" joins room "public room" with 200 (v4)
And reset signaling server requests
And user "owner" joins call "public room" with 200 (v4)
Then signaling server received the following requests
| token | data |
| public room | {"type":"message","message":{"data":{"type":"chat","chat":{"refresh":true}}}} |
| public room | {"type":"incall","incall":{"incall":7,"changed":[{"inCall":7,"lastPing":LAST_PING(),"sessionId":"SESSION(owner)","nextcloudSessionId":"SESSION(owner)","participantType":1,"participantPermissions":254,"actorType":"users","actorId":"owner","userId":"owner"}],"users":[{"inCall":7,"lastPing":LAST_PING(),"sessionId":"SESSION(owner)","nextcloudSessionId":"SESSION(owner)","participantType":1,"participantPermissions":254,"actorType":"users","actorId":"owner","userId":"owner"}]}} |
And reset signaling server requests
When user "owner" updates call flags in room "public room" to "1" with 200 (v4)
Then signaling server received the following requests
| token | data |
| public room | {"type":"incall","incall":{"incall":1,"changed":[{"inCall":1,"lastPing":LAST_PING(),"sessionId":"SESSION(owner)","nextcloudSessionId":"SESSION(owner)","participantType":1,"participantPermissions":254,"actorType":"users","actorId":"owner","userId":"owner"}],"users":[{"inCall":1,"lastPing":LAST_PING(),"sessionId":"SESSION(owner)","nextcloudSessionId":"SESSION(owner)","participantType":1,"participantPermissions":254,"actorType":"users","actorId":"owner","userId":"owner"}]}} |
And user "moderator" joins call "public room" with 200 (v4)
And user "invited user" joins call "public room" with 200 (v4)
And user "not invited but joined user" joins call "public room" with 200 (v4)
And user "guest moderator" joins call "public room" with 200 (v4)
And user "guest" joins call "public room" with 200 (v4)
And user "moderator" updates call flags in room "public room" to "1" with 200 (v4)
And user "invited user" updates call flags in room "public room" to "1" with 200 (v4)
And user "not invited but joined user" updates call flags in room "public room" to "1" with 200 (v4)
And user "guest moderator" updates call flags in room "public room" to "1" with 200 (v4)
And user "guest" updates call flags in room "public room" to "1" with 200 (v4)
Then user "owner" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 1 |
| users | moderator | 1 |
| users | invited user | 1 |
| users | not invited but joined user | 1 |
| guests | "guest moderator" | 1 |
| guests | "guest" | 1 |
And user "moderator" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 1 |
| users | moderator | 1 |
| users | invited user | 1 |
| users | not invited but joined user | 1 |
| guests | "guest moderator" | 1 |
| guests | "guest" | 1 |
And user "invited user" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 1 |
| users | moderator | 1 |
| users | invited user | 1 |
| users | not invited but joined user | 1 |
| guests | "guest moderator" | 1 |
| guests | "guest" | 1 |
And user "not invited but joined user" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 1 |
| users | moderator | 1 |
| users | invited user | 1 |
| users | not invited but joined user | 1 |
| guests | "guest moderator" | 1 |
| guests | "guest" | 1 |
And user "guest moderator" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 1 |
| users | moderator | 1 |
| users | invited user | 1 |
| users | not invited but joined user | 1 |
| guests | "guest moderator" | 1 |
| guests | "guest" | 1 |
Scenario: update call flags with in call does not join the call
Given user "owner" creates room "public room" (v4)
| roomType | 3 |
| roomName | room |
And user "owner" adds user "moderator" to room "public room" with 200 (v4)
And user "owner" promotes "moderator" in room "public room" with 200 (v4)
And user "owner" adds user "invited user" to room "public room" with 200 (v4)
And user "not invited but joined user" joins room "public room" with 200 (v4)
And user "guest moderator" joins room "public room" with 200 (v4)
And user "owner" promotes "guest moderator" in room "public room" with 200 (v4)
And user "guest" joins room "public room" with 200 (v4)
And user "owner" joins room "public room" with 200 (v4)
And user "moderator" joins room "public room" with 200 (v4)
And user "invited user" joins room "public room" with 200 (v4)
And user "not invited but joined user" joins room "public room" with 200 (v4)
When user "owner" updates call flags in room "public room" to "1" with 400 (v4)
And user "moderator" updates call flags in room "public room" to "1" with 400 (v4)
And user "invited user" updates call flags in room "public room" to "1" with 400 (v4)
And user "not invited but joined user" updates call flags in room "public room" to "1" with 400 (v4)
And user "guest moderator" updates call flags in room "public room" to "1" with 400 (v4)
And user "guest" updates call flags in room "public room" to "1" with 400 (v4)
Then user "owner" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 0 |
| users | moderator | 0 |
| users | invited user | 0 |
| users | not invited but joined user | 0 |
| guests | "guest moderator" | 0 |
| guests | "guest" | 0 |
And user "moderator" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 0 |
| users | moderator | 0 |
| users | invited user | 0 |
| users | not invited but joined user | 0 |
| guests | "guest moderator" | 0 |
| guests | "guest" | 0 |
And user "invited user" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 0 |
| users | moderator | 0 |
| users | invited user | 0 |
| users | not invited but joined user | 0 |
| guests | "guest moderator" | 0 |
| guests | "guest" | 0 |
And user "not invited but joined user" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 0 |
| users | moderator | 0 |
| users | invited user | 0 |
| users | not invited but joined user | 0 |
| guests | "guest moderator" | 0 |
| guests | "guest" | 0 |
And user "guest moderator" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 0 |
| users | moderator | 0 |
| users | invited user | 0 |
| users | not invited but joined user | 0 |
| guests | "guest moderator" | 0 |
| guests | "guest" | 0 |
Scenario: update call flags with disconnected does not leave the call
Given user "owner" creates room "public room" (v4)
| roomType | 3 |
| roomName | room |
And user "owner" adds user "moderator" to room "public room" with 200 (v4)
And user "owner" promotes "moderator" in room "public room" with 200 (v4)
And user "owner" adds user "invited user" to room "public room" with 200 (v4)
And user "not invited but joined user" joins room "public room" with 200 (v4)
And user "guest moderator" joins room "public room" with 200 (v4)
And user "owner" promotes "guest moderator" in room "public room" with 200 (v4)
And user "guest" joins room "public room" with 200 (v4)
And user "owner" joins room "public room" with 200 (v4)
And user "moderator" joins room "public room" with 200 (v4)
And user "invited user" joins room "public room" with 200 (v4)
And user "not invited but joined user" joins room "public room" with 200 (v4)
And user "owner" joins call "public room" with 200 (v4)
And user "moderator" joins call "public room" with 200 (v4)
And user "invited user" joins call "public room" with 200 (v4)
And user "not invited but joined user" joins call "public room" with 200 (v4)
And user "guest moderator" joins call "public room" with 200 (v4)
And user "guest" joins call "public room" with 200 (v4)
When user "owner" updates call flags in room "public room" to "0" with 400 (v4)
And user "moderator" updates call flags in room "public room" to "0" with 400 (v4)
And user "invited user" updates call flags in room "public room" to "0" with 400 (v4)
And user "not invited but joined user" updates call flags in room "public room" to "0" with 400 (v4)
And user "guest moderator" updates call flags in room "public room" to "0" with 400 (v4)
And user "guest" updates call flags in room "public room" to "0" with 400 (v4)
Then user "owner" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 7 |
| users | moderator | 7 |
| users | invited user | 7 |
| users | not invited but joined user | 7 |
| guests | "guest moderator" | 7 |
| guests | "guest" | 7 |
And user "moderator" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 7 |
| users | moderator | 7 |
| users | invited user | 7 |
| users | not invited but joined user | 7 |
| guests | "guest moderator" | 7 |
| guests | "guest" | 7 |
And user "invited user" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 7 |
| users | moderator | 7 |
| users | invited user | 7 |
| users | not invited but joined user | 7 |
| guests | "guest moderator" | 7 |
| guests | "guest" | 7 |
And user "not invited but joined user" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 7 |
| users | moderator | 7 |
| users | invited user | 7 |
| users | not invited but joined user | 7 |
| guests | "guest moderator" | 7 |
| guests | "guest" | 7 |
And user "guest moderator" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 7 |
| users | moderator | 7 |
| users | invited user | 7 |
| users | not invited but joined user | 7 |
| guests | "guest moderator" | 7 |
| guests | "guest" | 7 |
Scenario: update call flags requires in call flag to be set
Given user "owner" creates room "public room" (v4)
| roomType | 3 |
| roomName | room |
And user "owner" adds user "moderator" to room "public room" with 200 (v4)
And user "owner" promotes "moderator" in room "public room" with 200 (v4)
And user "owner" adds user "invited user" to room "public room" with 200 (v4)
And user "not invited but joined user" joins room "public room" with 200 (v4)
And user "guest moderator" joins room "public room" with 200 (v4)
And user "owner" promotes "guest moderator" in room "public room" with 200 (v4)
And user "guest" joins room "public room" with 200 (v4)
And user "owner" joins room "public room" with 200 (v4)
And user "moderator" joins room "public room" with 200 (v4)
And user "invited user" joins room "public room" with 200 (v4)
And user "not invited but joined user" joins room "public room" with 200 (v4)
And user "owner" joins call "public room" with 200 (v4)
And user "moderator" joins call "public room" with 200 (v4)
And user "invited user" joins call "public room" with 200 (v4)
And user "not invited but joined user" joins call "public room" with 200 (v4)
And user "guest moderator" joins call "public room" with 200 (v4)
And user "guest" joins call "public room" with 200 (v4)
When user "owner" updates call flags in room "public room" to "2" with 400 (v4)
And user "moderator" updates call flags in room "public room" to "2" with 400 (v4)
And user "invited user" updates call flags in room "public room" to "2" with 400 (v4)
And user "not invited but joined user" updates call flags in room "public room" to "2" with 400 (v4)
And user "guest moderator" updates call flags in room "public room" to "2" with 400 (v4)
And user "guest" updates call flags in room "public room" to "2" with 400 (v4)
Then user "owner" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 7 |
| users | moderator | 7 |
| users | invited user | 7 |
| users | not invited but joined user | 7 |
| guests | "guest moderator" | 7 |
| guests | "guest" | 7 |
And user "moderator" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 7 |
| users | moderator | 7 |
| users | invited user | 7 |
| users | not invited but joined user | 7 |
| guests | "guest moderator" | 7 |
| guests | "guest" | 7 |
And user "invited user" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 7 |
| users | moderator | 7 |
| users | invited user | 7 |
| users | not invited but joined user | 7 |
| guests | "guest moderator" | 7 |
| guests | "guest" | 7 |
And user "not invited but joined user" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 7 |
| users | moderator | 7 |
| users | invited user | 7 |
| users | not invited but joined user | 7 |
| guests | "guest moderator" | 7 |
| guests | "guest" | 7 |
And user "guest moderator" sees the following attendees in room "public room" with 200 (v4)
| actorType | actorId | inCall |
| users | owner | 7 |
| users | moderator | 7 |
| users | invited user | 7 |
| users | not invited but joined user | 7 |
| guests | "guest moderator" | 7 |
| guests | "guest" | 7 |