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
Источник: https://github.com/nextcloud/spreed/archive/refs/tags/v22.0.12.tar.gz С этого коммита ветка официального Nextcloud Talk отрезана (решение владельца 2026-07-06). Все дальнейшие изменения — только наши; версии релизов: 22.0.12-f7.N.
255 lines
13 KiB
Gherkin
255 lines
13 KiB
Gherkin
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)
|