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,14 @@
|
||||
Feature: sharing-4/settings
|
||||
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
Given user "participant2" exists
|
||||
|
||||
Scenario: Do not allow setting a shared folder as attachment_folder
|
||||
Given user "participant1" creates folder "/test"
|
||||
When user "participant1" sets setting "attachment_folder" to "/test" with 200 (v1)
|
||||
Then user "participant1" has capability "spreed=>config=>attachments=>folder" set to "/test"
|
||||
Given user "participant2" creates folder "/test-participant2"
|
||||
Given user "participant2" shares "/test-participant2" with user "participant1" with OCS 100
|
||||
When user "participant1" sets setting "attachment_folder" to "/test-participant2" with 400 (v1)
|
||||
Then user "participant1" has capability "spreed=>config=>attachments=>folder" set to "/test"
|
||||
@@ -0,0 +1,278 @@
|
||||
Feature: sharees
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
Given user "participant2" exists
|
||||
Given user "participant3" exists
|
||||
And group "attendees1" exists
|
||||
And user "participant2" is member of group "attendees1"
|
||||
|
||||
Scenario: search empty name
|
||||
Given user "participant1" creates room "unnamed own group room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" creates room "own group room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "own group room" to "Group room" with 200 (v4)
|
||||
And user "participant1" creates room "own one-to-one room" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
When user "participant1" gets sharees for
|
||||
| search | |
|
||||
Then "exact rooms" sharees returned is empty
|
||||
And "rooms" sharees returned is empty
|
||||
|
||||
Scenario: search one-to-one room
|
||||
Given user "participant1" creates room "one-to-one room" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
When user "participant1" gets sharees for
|
||||
| search | participant2 |
|
||||
Then "exact rooms" sharees returned is empty
|
||||
And "rooms" sharees returned are
|
||||
| participant2-displayname | one-to-one room |
|
||||
|
||||
|
||||
Scenario: search own group room with no matches
|
||||
Given user "participant1" creates room "own group room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "own group room" to "Group room" with 200 (v4)
|
||||
When user "participant1" gets sharees for
|
||||
| search | unmatched search term |
|
||||
Then "exact rooms" sharees returned is empty
|
||||
And "rooms" sharees returned is empty
|
||||
|
||||
Scenario: search own group room with single match
|
||||
Given user "participant1" creates room "own group room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "own group room" to "Group room" with 200 (v4)
|
||||
When user "participant1" gets sharees for
|
||||
| search | room |
|
||||
Then "exact rooms" sharees returned is empty
|
||||
And "rooms" sharees returned are
|
||||
| Group room | own group room |
|
||||
|
||||
Scenario: search own group room with single exact match
|
||||
Given user "participant1" creates room "own group room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "own group room" to "Group room" with 200 (v4)
|
||||
When user "participant1" gets sharees for
|
||||
| search | group room |
|
||||
Then "exact rooms" sharees returned are
|
||||
| Group room | own group room |
|
||||
And "rooms" sharees returned is empty
|
||||
|
||||
Scenario: search own group room with several matches
|
||||
Given user "participant1" creates room "own group room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "own group room" to "Group room" with 200 (v4)
|
||||
And user "participant1" creates room "another own group room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "another own group room" to "Another group room" with 200 (v4)
|
||||
When user "participant1" gets sharees for
|
||||
| search | group room |
|
||||
Then "exact rooms" sharees returned are
|
||||
| Group room | own group room |
|
||||
And "rooms" sharees returned are
|
||||
| Another group room | another own group room |
|
||||
|
||||
|
||||
|
||||
Scenario: search group room not invited to
|
||||
Given user "participant1" creates room "group room not invited to" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "group room not invited to" to "Group room" with 200 (v4)
|
||||
And user "participant2" creates room "another group room not invited to" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant2" renames room "another group room not invited to" to "Another group room" with 200 (v4)
|
||||
When user "participant3" gets sharees for
|
||||
| search | group room |
|
||||
Then "exact rooms" sharees returned is empty
|
||||
And "rooms" sharees returned is empty
|
||||
|
||||
Scenario: search group room invited to with single match
|
||||
Given user "participant1" creates room "group room invited to" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "group room invited to" to "Group room" with 200 (v4)
|
||||
And user "participant1" adds user "participant2" to room "group room invited to" with 200 (v4)
|
||||
When user "participant2" gets sharees for
|
||||
| search | room |
|
||||
Then "exact rooms" sharees returned is empty
|
||||
And "rooms" sharees returned are
|
||||
| Group room | group room invited to |
|
||||
|
||||
Scenario: search group room invited to with single exact match
|
||||
Given user "participant1" creates room "group room invited to" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "group room invited to" to "Group room" with 200 (v4)
|
||||
And user "participant1" adds user "participant2" to room "group room invited to" with 200 (v4)
|
||||
When user "participant2" gets sharees for
|
||||
| search | group room |
|
||||
Then "exact rooms" sharees returned are
|
||||
| Group room | group room invited to |
|
||||
And "rooms" sharees returned is empty
|
||||
|
||||
Scenario: search group room invited to with several matches
|
||||
Given user "participant1" creates room "group room invited to" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "group room invited to" to "Group room" with 200 (v4)
|
||||
And user "participant1" adds user "participant2" to room "group room invited to" with 200 (v4)
|
||||
And user "participant1" creates room "another group room invited to" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "another group room invited to" to "Another group room" with 200 (v4)
|
||||
And user "participant1" adds user "participant2" to room "another group room invited to" with 200 (v4)
|
||||
When user "participant2" gets sharees for
|
||||
| search | group room |
|
||||
Then "exact rooms" sharees returned are
|
||||
| Group room | group room invited to |
|
||||
And "rooms" sharees returned are
|
||||
| Another group room | another group room invited to |
|
||||
|
||||
|
||||
|
||||
Scenario: search group room invited to as member of a group with single match
|
||||
Given user "participant1" creates room "group room invited to as member of a group" (v4)
|
||||
| roomType | 2 |
|
||||
| invite | attendees1 |
|
||||
And user "participant1" renames room "group room invited to as member of a group" to "Group room" with 200 (v4)
|
||||
When user "participant2" gets sharees for
|
||||
| search | room |
|
||||
Then "exact rooms" sharees returned is empty
|
||||
And "rooms" sharees returned are
|
||||
| Group room | group room invited to as member of a group |
|
||||
|
||||
Scenario: search group room invited to as member of a group with single exact match
|
||||
Given user "participant1" creates room "group room invited to as member of a group" (v4)
|
||||
| roomType | 2 |
|
||||
| invite | attendees1 |
|
||||
And user "participant1" renames room "group room invited to as member of a group" to "Group room" with 200 (v4)
|
||||
When user "participant2" gets sharees for
|
||||
| search | group room |
|
||||
Then "exact rooms" sharees returned are
|
||||
| Group room | group room invited to as member of a group |
|
||||
And "rooms" sharees returned is empty
|
||||
|
||||
Scenario: search group room invited to as member of a group with several matches
|
||||
Given user "participant1" creates room "group room invited to as member of a group" (v4)
|
||||
| roomType | 2 |
|
||||
| invite | attendees1 |
|
||||
And user "participant1" renames room "group room invited to as member of a group" to "Group room" with 200 (v4)
|
||||
And user "participant1" creates room "another group room invited to as member of a group" (v4)
|
||||
| roomType | 2 |
|
||||
| invite | attendees1 |
|
||||
And user "participant1" renames room "another group room invited to as member of a group" to "Another group room" with 200 (v4)
|
||||
When user "participant2" gets sharees for
|
||||
| search | group room |
|
||||
Then "exact rooms" sharees returned are
|
||||
| Group room | group room invited to as member of a group |
|
||||
And "rooms" sharees returned are
|
||||
| Another group room | another group room invited to as member of a group |
|
||||
|
||||
|
||||
|
||||
Scenario: search public room not joined to
|
||||
Given user "participant1" creates room "public room not joined to" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "public room not joined to" to "Public room" with 200 (v4)
|
||||
And user "participant2" creates room "another public room not joined to" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant2" renames room "another public room not joined to" to "Another public room" with 200 (v4)
|
||||
When user "participant3" gets sharees for
|
||||
| search | public room |
|
||||
Then "exact rooms" sharees returned is empty
|
||||
And "rooms" sharees returned is empty
|
||||
|
||||
Scenario: search public room self joined to with single match
|
||||
Given user "participant1" creates room "public room self joined to" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "public room self joined to" to "Public room" with 200 (v4)
|
||||
And user "participant2" joins room "public room self joined to" with 200 (v4)
|
||||
When user "participant2" gets sharees for
|
||||
| search | room |
|
||||
Then "exact rooms" sharees returned is empty
|
||||
And "rooms" sharees returned are
|
||||
| Public room | public room self joined to |
|
||||
|
||||
Scenario: search public room self joined to with single exact match
|
||||
Given user "participant1" creates room "public room self joined to" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "public room self joined to" to "Public room" with 200 (v4)
|
||||
And user "participant2" joins room "public room self joined to" with 200 (v4)
|
||||
When user "participant2" gets sharees for
|
||||
| search | public room |
|
||||
Then "exact rooms" sharees returned are
|
||||
| Public room | public room self joined to |
|
||||
And "rooms" sharees returned is empty
|
||||
|
||||
Scenario: search public room self joined to with several matches
|
||||
Given user "participant1" creates room "public room self joined to" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "public room self joined to" to "Public room" with 200 (v4)
|
||||
And user "participant2" joins room "public room self joined to" with 200 (v4)
|
||||
And user "participant1" creates room "another public room self joined to" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "another public room self joined to" to "Another public room" with 200 (v4)
|
||||
And user "participant2" joins room "another public room self joined to" with 200 (v4)
|
||||
When user "participant2" gets sharees for
|
||||
| search | public room |
|
||||
Then "exact rooms" sharees returned are
|
||||
| Public room | public room self joined to |
|
||||
And "rooms" sharees returned are
|
||||
| Another public room | another public room self joined to |
|
||||
|
||||
|
||||
|
||||
Scenario: search room with several matches
|
||||
Given user "participant1" creates room "group room invited to as member of a group" (v4)
|
||||
| roomType | 2 |
|
||||
| invite | attendees1 |
|
||||
And user "participant1" renames room "group room invited to as member of a group" to "Room" with 200 (v4)
|
||||
And user "participant1" creates room "group room invited to" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "group room invited to" to "Group room" with 200 (v4)
|
||||
And user "participant1" adds user "participant2" to room "group room invited to" with 200 (v4)
|
||||
And user "participant1" creates room "group room not invited to" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "group room not invited to" to "Group room not invited to" with 200 (v4)
|
||||
And user "participant2" creates room "case insensitive match" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant2" creates room "own group room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant2" renames room "own group room" to "Own group room" with 200 (v4)
|
||||
And user "participant1" creates room "one-to-one room invited to" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
And user "participant2" creates room "own public room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant2" renames room "own public room" to "Own public room" with 200 (v4)
|
||||
When user "participant2" gets sharees for
|
||||
| search | room |
|
||||
Then "exact rooms" sharees returned are
|
||||
| Room | group room invited to as member of a group |
|
||||
| room | case insensitive match |
|
||||
And "rooms" sharees returned are
|
||||
| Group room | group room invited to |
|
||||
| Own group room | own group room |
|
||||
| Own public room | own public room |
|
||||
@@ -0,0 +1,144 @@
|
||||
Feature: transfer-ownership
|
||||
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
Given user "participant2" exists
|
||||
Given user "participant3" exists
|
||||
|
||||
Scenario: transfer ownership of a file shared with a room to a user in the room
|
||||
Given user "participant1" creates room "group room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "group room" to "Group room" with 200 (v4)
|
||||
And user "participant1" adds user "participant2" to room "group room" with 200 (v4)
|
||||
And user "participant1" adds user "participant3" to room "group room" with 200 (v4)
|
||||
And user "participant1" shares "welcome.txt" with room "group room" with OCS 100
|
||||
When transfering ownership from "participant1" to "participant2"
|
||||
Then user "participant1" gets last share
|
||||
And share is returned with
|
||||
| uid_owner | participant2 |
|
||||
| displayname_owner | participant2-displayname |
|
||||
| path | /Talk/welcome.txt |
|
||||
| item_type | file |
|
||||
| mimetype | text/plain |
|
||||
| storage_id | shared::/Talk/welcome.txt |
|
||||
| file_target | /Talk/welcome.txt |
|
||||
| share_with | group room |
|
||||
| share_with_displayname | Group room |
|
||||
And user "participant2" gets last share
|
||||
And share is returned with
|
||||
| uid_owner | participant2 |
|
||||
| displayname_owner | participant2-displayname |
|
||||
| path | REGEXP /\/Transferred from participant1-displayname on .*\/welcome.txt/ |
|
||||
| item_type | file |
|
||||
| mimetype | text/plain |
|
||||
| storage_id | home::participant2 |
|
||||
| file_target | /Talk/welcome.txt |
|
||||
| share_with | group room |
|
||||
| share_with_displayname | Group room |
|
||||
And user "participant3" gets last share
|
||||
And share is returned with
|
||||
| uid_owner | participant2 |
|
||||
| displayname_owner | participant2-displayname |
|
||||
| path | /Talk/welcome.txt |
|
||||
| item_type | file |
|
||||
| mimetype | text/plain |
|
||||
| storage_id | shared::/Talk/welcome.txt |
|
||||
| file_target | /Talk/welcome.txt |
|
||||
| share_with | group room |
|
||||
| share_with_displayname | Group room |
|
||||
|
||||
Scenario: transfer ownership of a file reshared with a room to a user in the room
|
||||
Given user "participant1" creates room "group room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "group room" to "Group room" with 200 (v4)
|
||||
And user "participant1" adds user "participant2" to room "group room" with 200 (v4)
|
||||
And user "participant1" adds user "participant3" to room "group room" with 200 (v4)
|
||||
And user "participant3" shares "welcome.txt" with user "participant1" with OCS 100
|
||||
And user "participant1" accepts last share
|
||||
And user "participant1" shares "welcome (2).txt" with room "group room" with OCS 100
|
||||
When transfering ownership from "participant1" to "participant2"
|
||||
Then user "participant1" gets last share
|
||||
And share is returned with
|
||||
| uid_owner | participant2 |
|
||||
| displayname_owner | participant2-displayname |
|
||||
| uid_file_owner | participant3 |
|
||||
| displayname_file_owner | participant3-displayname |
|
||||
| path | /Talk/welcome (2).txt |
|
||||
| item_type | file |
|
||||
| mimetype | text/plain |
|
||||
| storage_id | shared::/Talk/welcome (2).txt |
|
||||
| file_target | /Talk/welcome (2).txt |
|
||||
| share_with | group room |
|
||||
| share_with_displayname | Group room |
|
||||
And user "participant2" gets last share
|
||||
And share is returned with
|
||||
| uid_owner | participant2 |
|
||||
| displayname_owner | participant2-displayname |
|
||||
| uid_file_owner | participant3 |
|
||||
| displayname_file_owner | participant3-displayname |
|
||||
| path | /Transferred from participant1-displayname on {{DATE AND TIME}}/welcome (2).txt |
|
||||
| item_type | file |
|
||||
| mimetype | text/plain |
|
||||
| storage_id | shared::/Transferred from participant1-displayname on {{DATE AND TIME}}/welcome (2).txt |
|
||||
| file_target | /Talk/welcome (2).txt |
|
||||
| share_with | group room |
|
||||
| share_with_displayname | Group room |
|
||||
And user "participant3" gets last share
|
||||
And share is returned with
|
||||
| uid_owner | participant2 |
|
||||
| displayname_owner | participant2-displayname |
|
||||
| uid_file_owner | participant3 |
|
||||
| displayname_file_owner | participant3-displayname |
|
||||
| path | /welcome.txt |
|
||||
| item_type | file |
|
||||
| mimetype | text/plain |
|
||||
| storage_id | home::participant3 |
|
||||
| file_target | /{TALK_PLACEHOLDER}/welcome (2).txt |
|
||||
| share_with | group room |
|
||||
| share_with_displayname | Group room |
|
||||
|
||||
# This is a special case in which even if the (now) sharer is not in a room
|
||||
# the room share is valid and other participants can access that share.
|
||||
Scenario: transfer ownership of a file shared with a room to a user not in the room
|
||||
Given user "participant1" creates room "group room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" renames room "group room" to "Group room" with 200 (v4)
|
||||
And user "participant1" adds user "participant3" to room "group room" with 200 (v4)
|
||||
And user "participant1" shares "welcome.txt" with room "group room" with OCS 100
|
||||
When transfering ownership from "participant1" to "participant2"
|
||||
Then user "participant1" gets last share
|
||||
And share is returned with
|
||||
| uid_owner | participant2 |
|
||||
| displayname_owner | participant2-displayname |
|
||||
| path | /Talk/welcome.txt |
|
||||
| item_type | file |
|
||||
| mimetype | text/plain |
|
||||
| storage_id | shared::/Talk/welcome.txt |
|
||||
| file_target | /Talk/welcome.txt |
|
||||
| share_with | group room |
|
||||
| share_with_displayname | Group room |
|
||||
And user "participant2" gets last share
|
||||
And share is returned with
|
||||
| uid_owner | participant2 |
|
||||
| displayname_owner | participant2-displayname |
|
||||
| path | REGEXP /\/Transferred from participant1-displayname on .*\/welcome.txt/ |
|
||||
| item_type | file |
|
||||
| mimetype | text/plain |
|
||||
| storage_id | home::participant2 |
|
||||
| file_target | /{TALK_PLACEHOLDER}/welcome.txt |
|
||||
| share_with | private_conversation |
|
||||
| share_with_displayname | Private conversation |
|
||||
And user "participant3" gets last share
|
||||
And share is returned with
|
||||
| uid_owner | participant2 |
|
||||
| displayname_owner | participant2-displayname |
|
||||
| path | /Talk/welcome.txt |
|
||||
| item_type | file |
|
||||
| mimetype | text/plain |
|
||||
| storage_id | shared::/Talk/welcome.txt |
|
||||
| file_target | /Talk/welcome.txt |
|
||||
| share_with | group room |
|
||||
| share_with_displayname | Group room |
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user