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,254 @@
|
||||
Feature: conversation-2/one-to-one
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
Given user "participant2" exists
|
||||
Given user "participant3" exists
|
||||
|
||||
Scenario: User has no rooms
|
||||
Then user "participant1" is participant of the following rooms (v4)
|
||||
Then user "participant2" is participant of the following rooms (v4)
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
|
||||
Scenario: User1 invites themself to a one2one room
|
||||
When user "participant1" tries to create room with 403 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant1 |
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and user3 is not part of it
|
||||
When user "participant1" creates room "room1" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
Then user "participant1" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room1 | 1 | 1 |
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
And user "participant3" is participant of the following rooms (v4)
|
||||
And user "participant1" is participant of room "room1" (v4)
|
||||
And user "participant2" is not participant of room "room1" (v4)
|
||||
And user "participant3" is not participant of room "room1" (v4)
|
||||
Given user "participant2" creates room "room1" with 200 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant1 |
|
||||
And user "participant2" is participant of room "room1" (v4)
|
||||
Then user "participant1" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room1 | 1 | 1 |
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room1 | 1 | 1 |
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and leaves it
|
||||
Given user "participant1" creates room "room2" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
And user "participant1" is participant of room "room2" (v4)
|
||||
And user "participant2" is not participant of room "room2" (v4)
|
||||
When user "participant1" removes themselves from room "room2" with 200 (v4)
|
||||
Then user "participant1" is not participant of room "room2" (v4)
|
||||
And user "participant1" is participant of the following rooms (v4)
|
||||
And user "participant2" is not participant of room "room2" (v4)
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and tries to delete it
|
||||
Given user "participant1" creates room "room3" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
Then user "participant1" is participant of room "room3" (v4)
|
||||
And user "participant2" is not participant of room "room3" (v4)
|
||||
When user "participant1" deletes room "room3" with 400 (v4)
|
||||
Then user "participant1" is participant of room "room3" (v4)
|
||||
And user "participant2" is not participant of room "room3" (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and tries to remove user2
|
||||
Given user "participant1" creates room "room4" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
Given user "participant2" creates room "room4" with 200 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant1 |
|
||||
Then user "participant1" is participant of room "room4" (v4)
|
||||
And user "participant2" is participant of room "room4" (v4)
|
||||
And user "participant1" loads attendees attendee ids in room "room4" (v4)
|
||||
When user "participant1" removes "participant2" from room "room4" with 400 (v4)
|
||||
Then user "participant1" is participant of room "room4" (v4)
|
||||
And user "participant2" is participant of room "room4" (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and tries to rename it
|
||||
Given user "participant1" creates room "room5" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
And user "participant1" is participant of room "room5" (v4)
|
||||
When user "participant1" renames room "room5" to "new name" with 400 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and tries to make it public
|
||||
Given user "participant1" creates room "room6" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
And user "participant1" is participant of room "room6" (v4)
|
||||
When user "participant1" makes room "room6" public with 400 (v4)
|
||||
Then user "participant1" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room6 | 1 | 1 |
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and tries to invite user3
|
||||
Given user "participant1" creates room "room7" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
Given user "participant2" creates room "room7" with 200 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant1 |
|
||||
And user "participant1" is participant of room "room7" (v4)
|
||||
And user "participant2" is participant of room "room7" (v4)
|
||||
And user "participant3" is not participant of room "room7" (v4)
|
||||
When user "participant1" adds user "participant3" to room "room7" with 400 (v4)
|
||||
And user "participant3" is not participant of room "room7" (v4)
|
||||
And user "participant1" sees the following attendees in room "room7" with 200 (v4)
|
||||
| actorType | actorId | participantType |
|
||||
| users | participant1 | 1 |
|
||||
| users | participant2 | 1 |
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and promote user2 to moderator
|
||||
Given user "participant1" creates room "room8" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
Given user "participant2" creates room "room8" with 200 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant1 |
|
||||
And user "participant1" is participant of room "room8" (v4)
|
||||
And user "participant2" is participant of room "room8" (v4)
|
||||
And user "participant1" loads attendees attendee ids in room "room8" (v4)
|
||||
When user "participant1" promotes "participant2" in room "room8" with 400 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and demote user2 to moderator
|
||||
Given user "participant1" creates room "room9" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
Given user "participant2" creates room "room9" with 200 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant1 |
|
||||
And user "participant1" is participant of room "room9" (v4)
|
||||
And user "participant2" is participant of room "room9" (v4)
|
||||
And user "participant1" loads attendees attendee ids in room "room9" (v4)
|
||||
When user "participant1" demotes "participant2" in room "room9" with 400 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and promote non-invited user
|
||||
Given user "participant1" creates room "room10" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
And user "participant1" is participant of room "room10" (v4)
|
||||
And user "participant3" is not participant of room "room10" (v4)
|
||||
And user "participant1" loads attendees attendee ids in room "room10" (v4)
|
||||
When user "participant1" promotes "stranger" in room "room10" with 404 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and demote non-invited user
|
||||
Given user "participant1" creates room "room11" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
And user "participant1" is participant of room "room11" (v4)
|
||||
And user "participant3" is not participant of room "room11" (v4)
|
||||
And user "participant1" loads attendees attendee ids in room "room11" (v4)
|
||||
When user "participant1" demotes "stranger" in room "room11" with 404 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room twice, it's the same room
|
||||
Given user "participant1" creates room "room12" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
And user "participant1" is participant of room "room12" (v4)
|
||||
And user "participant2" is not participant of room "room12" (v4)
|
||||
And user "participant1" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room12 | 1 | 1 |
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
When user "participant1" creates room "room13" with 200 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
And user "participant1" is participant of room "room12" (v4)
|
||||
And user "participant2" is not participant of room "room12" (v4)
|
||||
And user "participant1" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room12 | 1 | 1 |
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room, leaves and does it again, it's the same room
|
||||
Given user "participant1" creates room "room14" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
Given user "participant2" creates room "room14" with 200 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant1 |
|
||||
And user "participant1" is participant of room "room14" (v4)
|
||||
And user "participant2" is participant of room "room14" (v4)
|
||||
And user "participant1" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room14 | 1 | 1 |
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room14 | 1 | 1 |
|
||||
When user "participant1" removes themselves from room "room14" with 200 (v4)
|
||||
Then user "participant1" is not participant of room "room14" (v4)
|
||||
And user "participant1" is participant of the following rooms (v4)
|
||||
And user "participant2" is participant of room "room14" (v4)
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room14 | 1 | 1 |
|
||||
And user "participant2" sees the following attendees in room "room14" with 200 (v4)
|
||||
| actorType | actorId | participantType |
|
||||
| users | participant2 | 1 |
|
||||
When user "participant1" creates room "room15" with 200 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
And user "participant1" is participant of room "room14" (v4)
|
||||
And user "participant2" is participant of room "room14" (v4)
|
||||
And user "participant1" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room14 | 1 | 1 |
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room14 | 1 | 1 |
|
||||
And user "participant2" sees the following attendees in room "room14" with 200 (v4)
|
||||
| actorType | actorId | participantType |
|
||||
| users | participant1 | 1 |
|
||||
| users | participant2 | 1 |
|
||||
|
||||
Scenario: Check share restrictions on one to one conversation
|
||||
Given the following "core" app config is set
|
||||
| shareapi_restrict_user_enumeration_full_match | no |
|
||||
| shareapi_allow_share_dialog_user_enumeration | yes |
|
||||
| shareapi_restrict_user_enumeration_to_group | yes |
|
||||
| shareapi_restrict_user_enumeration_to_phone | yes |
|
||||
And user "participant1" creates room "room15" with 403 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
|
||||
Scenario: Remove self from one-to-one conversations when deletable config is set deletes it
|
||||
Given user "participant1" creates room "room" with 201 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
Given user "participant2" creates room "room" with 200 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant1 |
|
||||
Then user "participant1" removes themselves from room "room" with 200 (v4)
|
||||
And user "participant1" is participant of the following rooms (v4)
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 1 | 1 |
|
||||
When user "participant1" creates room "room" with 200 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
And the following "spreed" app config is set
|
||||
| delete_one_to_one_conversations | 1 |
|
||||
Then user "participant1" removes themselves from room "room" with 200 (v4)
|
||||
And user "participant1" is participant of the following rooms (v4)
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
|
||||
Scenario: Deleting one-to-one conversations is possible when deletable config is set
|
||||
Given user "participant1" creates room "room" with 201 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
And user "participant1" sends message "Message" to room "room" with 201
|
||||
Then user "participant1" deletes room "room" with 400 (v4)
|
||||
When the following "spreed" app config is set
|
||||
| delete_one_to_one_conversations | 1 |
|
||||
Then user "participant1" deletes room "room" with 200 (v4)
|
||||
And user "participant1" is participant of the following rooms (v4)
|
||||
And user "participant2" is participant of the following rooms (v4)
|
||||
Reference in New Issue
Block a user