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,537 @@
|
||||
Feature: conversation/files
|
||||
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
Given user "participant2" exists
|
||||
Given user "participant3" exists
|
||||
And group "group1" exists
|
||||
And user "participant2" is member of group "group1"
|
||||
|
||||
# When "user XXX gets the room for path YYY with 200" succeeds the room token
|
||||
# can later be used by any participant using the "file YYY room" identifier.
|
||||
|
||||
Scenario: get room for file not shared
|
||||
When user "participant1" gets the room for path "welcome.txt" with 404 (v1)
|
||||
|
||||
|
||||
|
||||
Scenario: get room for file shared with user
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
When user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
And user "participant2" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
Then user "participant1" is not participant of room "file welcome (2).txt room" (v4)
|
||||
And user "participant2" is not participant of room "file welcome (2).txt room" (v4)
|
||||
|
||||
Scenario: get room for folder shared with user
|
||||
Given user "participant1" creates folder "/test"
|
||||
And user "participant1" shares "test" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
When user "participant1" gets the room for path "test" with 404 (v1)
|
||||
And user "participant2" gets the room for path "test" with 404 (v1)
|
||||
|
||||
Scenario: get room for file in folder shared with user
|
||||
Given user "participant1" creates folder "/test"
|
||||
And user "participant1" moves file "/welcome.txt" to "/test/renamed.txt" with 201
|
||||
And user "participant1" shares "test" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
When user "participant1" gets the room for path "test/renamed.txt" with 200 (v1)
|
||||
And user "participant2" gets the room for path "test/renamed.txt" with 200 (v1)
|
||||
Then user "participant1" is not participant of room "file test/renamed.txt room" (v4)
|
||||
And user "participant2" is not participant of room "file test/renamed.txt room" (v4)
|
||||
|
||||
Scenario: get room for file in folder reshared with user
|
||||
Given user "participant1" creates folder "/test"
|
||||
And user "participant1" moves file "/welcome.txt" to "/test/renamed.txt" with 201
|
||||
And user "participant1" shares "test" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant2" shares "test" with user "participant3" with OCS 100
|
||||
And user "participant3" accepts last share
|
||||
When user "participant1" gets the room for path "test/renamed.txt" with 200 (v1)
|
||||
And user "participant2" gets the room for path "test/renamed.txt" with 200 (v1)
|
||||
And user "participant3" gets the room for path "test/renamed.txt" with 200 (v1)
|
||||
Then user "participant1" is not participant of room "file test/renamed.txt room" (v4)
|
||||
And user "participant2" is not participant of room "file test/renamed.txt room" (v4)
|
||||
And user "participant3" is not participant of room "file test/renamed.txt room" (v4)
|
||||
|
||||
Scenario: get room for file no longer shared
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" deletes last share
|
||||
# FIXME Temporary workaround, should be removed when possible. See https://github.com/nextcloud/spreed/pull/15726 for details
|
||||
When user "participant2" propfinds path "welcome.txt"
|
||||
When user "participant1" gets the room for path "welcome.txt" with 404 (v1)
|
||||
|
||||
|
||||
|
||||
Scenario: get room for file shared with group
|
||||
Given user "participant1" shares "welcome.txt" with group "group1" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
When user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
And user "participant2" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
Then user "participant1" is not participant of room "file welcome (2).txt room" (v4)
|
||||
And user "participant2" is not participant of room "file welcome (2).txt room" (v4)
|
||||
|
||||
Scenario: get room for file shared with user and group
|
||||
Given user "participant1" shares "welcome.txt" with group "group1" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" shares "welcome.txt" with user "participant3" with OCS 100
|
||||
And user "participant3" accepts last share
|
||||
When user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
And user "participant2" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
And user "participant3" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
Then user "participant1" is not participant of room "file welcome (2).txt room" (v4)
|
||||
And user "participant2" is not participant of room "file welcome (2).txt room" (v4)
|
||||
And user "participant3" is not participant of room "file welcome (2).txt room" (v4)
|
||||
|
||||
|
||||
Scenario: get room for file shared with team
|
||||
Given team "team1" exists
|
||||
And add user "participant1" to team "team1"
|
||||
And add user "participant2" to team "team1"
|
||||
And user "participant1" shares "welcome.txt" with team "team1" with OCS 100
|
||||
When user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
And user "participant2" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
Then user "participant1" is not participant of room "file welcome (2).txt room" (v4)
|
||||
And user "participant2" is not participant of room "file welcome (2).txt room" (v4)
|
||||
|
||||
|
||||
Scenario: get room for link share
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
When user "participant1" gets the room for last share with 200 (v1)
|
||||
And user "participant2" gets the room for last share with 200 (v1)
|
||||
And user "participant3" gets the room for last share with 200 (v1)
|
||||
And user "guest" gets the room for last share with 200 (v1)
|
||||
Then user "participant1" is not participant of room "file last share room" (v4)
|
||||
And user "participant2" is not participant of room "file last share room" (v4)
|
||||
And user "participant3" is not participant of room "file last share room" (v4)
|
||||
And user "guest" is not participant of room "file last share room" (v4)
|
||||
|
||||
Scenario: get room for link share protected by password
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
When user "participant1" gets the room for last share with 404 (v1)
|
||||
And user "participant2" gets the room for last share with 404 (v1)
|
||||
And user "participant3" gets the room for last share with 404 (v1)
|
||||
And user "guest" gets the room for last share with 404 (v1)
|
||||
|
||||
Scenario: get room for link share of a folder
|
||||
Given user "participant1" creates folder "/test"
|
||||
And user "participant1" shares "test" by link with OCS 100
|
||||
When user "participant1" gets the room for last share with 404 (v1)
|
||||
And user "participant2" gets the room for last share with 404 (v1)
|
||||
And user "guest" gets the room for last share with 404 (v1)
|
||||
|
||||
Scenario: get room for link no longer shared
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
And user "participant1" deletes last share
|
||||
When user "participant1" gets the room for last share with 404 (v1)
|
||||
And user "participant2" gets the room for last share with 404 (v1)
|
||||
And user "participant3" gets the room for last share with 404 (v1)
|
||||
And user "guest" gets the room for last share with 404 (v1)
|
||||
|
||||
Scenario: get room for file shared by link
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
When user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
Then user "participant1" is not participant of room "file welcome.txt room" (v4)
|
||||
|
||||
Scenario: get room for file shared by link and protected by password
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
| password | 123456 |
|
||||
When user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
Then user "participant1" is not participant of room "file welcome.txt room" (v4)
|
||||
|
||||
Scenario: get room for folder shared by link
|
||||
Given user "participant1" creates folder "/test"
|
||||
And user "participant1" shares "test" by link with OCS 100
|
||||
When user "participant1" gets the room for path "test" with 404 (v1)
|
||||
|
||||
Scenario: get room for file in folder shared by link
|
||||
Given user "participant1" creates folder "/test"
|
||||
And user "participant1" moves file "/welcome.txt" to "/test/renamed.txt" with 201
|
||||
And user "participant1" shares "test" by link with OCS 100
|
||||
When user "participant1" gets the room for path "test/renamed.txt" with 404 (v1)
|
||||
|
||||
Scenario: get room for file in folder shared by link and reshared with user
|
||||
Given user "participant1" creates folder "/test"
|
||||
And user "participant1" moves file "/welcome.txt" to "/test/renamed.txt" with 201
|
||||
And user "participant1" shares "test" by link with OCS 100
|
||||
And user "participant1" shares "test" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
When user "participant1" gets the room for path "test/renamed.txt" with 200 (v1)
|
||||
And user "participant2" gets the room for path "test/renamed.txt" with 200 (v1)
|
||||
Then user "participant1" is not participant of room "file test/renamed.txt room" (v4)
|
||||
And user "participant2" is not participant of room "file test/renamed.txt room" (v4)
|
||||
|
||||
Scenario: get room for file shared with user and by link
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
And user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
When user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
And user "participant2" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
Then user "participant1" is not participant of room "file welcome (2).txt room" (v4)
|
||||
And user "participant2" is not participant of room "file welcome (2).txt room" (v4)
|
||||
|
||||
Scenario: get room for last link share also shared with user
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
When user "participant1" gets the room for last share with 200 (v1)
|
||||
And user "participant2" gets the room for last share with 200 (v1)
|
||||
Then user "participant1" is not participant of room "file welcome (2).txt room" (v4)
|
||||
And user "participant2" is not participant of room "file welcome (2).txt room" (v4)
|
||||
|
||||
|
||||
|
||||
Scenario: owner of a shared file can join its room
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant2" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
When user "participant1" joins room "file welcome (2).txt room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "file welcome (2).txt room" (v4)
|
||||
|
||||
Scenario: user with access to a file can join its room
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
When user "participant2" joins room "file welcome.txt room" with 200 (v4)
|
||||
Then user "participant2" is participant of room "file welcome.txt room" (v4)
|
||||
|
||||
Scenario: owner of a file in a shared folder can join its room
|
||||
Given user "participant1" creates folder "/test"
|
||||
And user "participant1" moves file "/welcome.txt" to "/test/renamed.txt" with 201
|
||||
And user "participant1" shares "test" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant2" gets the room for path "test/renamed.txt" with 200 (v1)
|
||||
When user "participant1" joins room "file test/renamed.txt room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "file test/renamed.txt room" (v4)
|
||||
|
||||
Scenario: user with access to a file in a shared folder can join its room
|
||||
Given user "participant1" creates folder "/test"
|
||||
And user "participant1" moves file "/welcome.txt" to "/test/renamed.txt" with 201
|
||||
And user "participant1" shares "test" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" gets the room for path "test/renamed.txt" with 200 (v1)
|
||||
When user "participant2" joins room "file test/renamed.txt room" with 200 (v4)
|
||||
Then user "participant2" is participant of room "file test/renamed.txt room" (v4)
|
||||
|
||||
Scenario: user with access to a file in a reshared folder can join its room
|
||||
Given user "participant1" creates folder "/test"
|
||||
And user "participant1" moves file "/welcome.txt" to "/test/renamed.txt" with 201
|
||||
And user "participant1" shares "test" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant2" shares "test" with user "participant3" with OCS 100
|
||||
And user "participant3" accepts last share
|
||||
And user "participant3" gets the room for path "test/renamed.txt" with 200 (v1)
|
||||
When user "participant3" joins room "file test/renamed.txt room" with 200 (v4)
|
||||
Then user "participant3" is participant of room "file test/renamed.txt room" (v4)
|
||||
|
||||
Scenario: owner of a no longer shared file can join its room
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant2" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
And user "participant1" deletes last share
|
||||
When user "participant1" joins room "file welcome (2).txt room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "file welcome (2).txt room" (v4)
|
||||
|
||||
Scenario: user no longer with access to a file can not join its room
|
||||
Given user "participant1" shares "welcome.txt" with user "participant3" with OCS 100
|
||||
And user "participant3" accepts last share
|
||||
And user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
And user "participant1" deletes last share
|
||||
When user "participant2" joins room "file welcome.txt room" with 404 (v4)
|
||||
Then user "participant2" is not participant of room "file welcome.txt room" (v4)
|
||||
|
||||
Scenario: user without access to a file can not join its room
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
When user "participant3" joins room "file welcome.txt room" with 404 (v4)
|
||||
Then user "participant3" is not participant of room "file welcome.txt room" (v4)
|
||||
|
||||
Scenario: guest can not join a file room
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
When user "guest" joins room "file welcome.txt room" with 404 (v4)
|
||||
|
||||
|
||||
|
||||
Scenario: join room for file shared with group
|
||||
Given user "participant1" shares "welcome.txt" with group "group1" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
And user "participant2" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
When user "participant1" joins room "file welcome.txt room" with 200 (v4)
|
||||
And user "participant2" joins room "file welcome.txt room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "file welcome (2).txt room" (v4)
|
||||
And user "participant2" is participant of room "file welcome (2).txt room" (v4)
|
||||
|
||||
Scenario: join room for file shared with user and group
|
||||
Given user "participant1" shares "welcome.txt" with group "group1" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" shares "welcome.txt" with user "participant3" with OCS 100
|
||||
And user "participant3" accepts last share
|
||||
And user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
And user "participant2" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
And user "participant3" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
When user "participant1" joins room "file welcome.txt room" with 200 (v4)
|
||||
And user "participant2" joins room "file welcome.txt room" with 200 (v4)
|
||||
And user "participant3" joins room "file welcome.txt room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "file welcome (2).txt room" (v4)
|
||||
And user "participant2" is participant of room "file welcome (2).txt room" (v4)
|
||||
And user "participant3" is participant of room "file welcome (2).txt room" (v4)
|
||||
|
||||
|
||||
|
||||
Scenario: owner of a file shared by link can join its room
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
And user "participant1" gets the room for last share with 200 (v1)
|
||||
When user "participant1" joins room "file last share room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "file last share room" (v4)
|
||||
|
||||
Scenario: user with access to a file shared by link can join its room
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
And user "participant2" gets the room for last share with 200 (v1)
|
||||
When user "participant2" joins room "file last share room" with 200 (v4)
|
||||
Then user "participant2" is participant of room "file last share room" (v4)
|
||||
|
||||
Scenario: user without access to a file shared by link can join its room
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
# Users without access to a file shared by link need to log in (so further
|
||||
# requests keep the same session) and get the room (so the share token is
|
||||
# stored in the session) to be able to join it.
|
||||
And user "participant2" logs in
|
||||
And user "participant2" gets the room for last share with 200 (v1)
|
||||
When user "participant2" joins room "file last share room" with 200 (v4)
|
||||
Then user "participant2" is participant of room "file last share room" (v4)
|
||||
|
||||
Scenario: guest can join the room of a file shared by link
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
And user "guest" gets the room for last share with 200 (v1)
|
||||
When user "guest" joins room "file last share room" with 200 (v4)
|
||||
And user "guest" is participant of room "file last share room" (v4)
|
||||
|
||||
|
||||
|
||||
Scenario: owner of a shared file is not removed from its room after leaving it
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
# Note that the room token is got by a different user than the one that
|
||||
# joins the room
|
||||
And user "participant2" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
And user "participant1" joins room "file welcome (2).txt room" with 200 (v4)
|
||||
And user "participant1" is participant of room "file welcome (2).txt room" (v4)
|
||||
When user "participant1" leaves room "file welcome (2).txt room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "file welcome (2).txt room" (v4)
|
||||
|
||||
Scenario: user with access to a file is not removed from its room after leaving it
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
# Note that the room token is got by a different user than the one that
|
||||
# joins the room
|
||||
And user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
And user "participant2" joins room "file welcome.txt room" with 200 (v4)
|
||||
And user "participant2" is participant of room "file welcome.txt room" (v4)
|
||||
When user "participant2" leaves room "file welcome.txt room" with 200 (v4)
|
||||
Then user "participant2" is participant of room "file welcome.txt room" (v4)
|
||||
|
||||
|
||||
|
||||
Scenario: owner of a file shared by link is not removed from its room after leaving it
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
And user "participant1" gets the room for last share with 200 (v1)
|
||||
And user "participant1" joins room "file last share room" with 200 (v4)
|
||||
And user "participant1" is participant of room "file last share room" (v4)
|
||||
When user "participant1" leaves room "file last share room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "file last share room" (v4)
|
||||
|
||||
Scenario: user with access to a file shared by link is not removed from its room after leaving it
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
And user "participant2" gets the room for last share with 200 (v1)
|
||||
And user "participant2" joins room "file last share room" with 200 (v4)
|
||||
And user "participant2" is participant of room "file last share room" (v4)
|
||||
When user "participant2" leaves room "file last share room" with 200 (v4)
|
||||
Then user "participant2" is participant of room "file last share room" (v4)
|
||||
|
||||
Scenario: user without access to a file shared by link is removed from its room after leaving it
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
# Users without access to a file shared by link need to log in (so further
|
||||
# requests keep the same session) and get the room (so the share token is
|
||||
# stored in the session) to be able to join it.
|
||||
And user "participant2" logs in
|
||||
And user "participant2" gets the room for last share with 200 (v1)
|
||||
And user "participant2" joins room "file last share room" with 200 (v4)
|
||||
And user "participant2" is participant of room "file last share room" (v4)
|
||||
When user "participant2" leaves room "file last share room" with 200 (v4)
|
||||
Then user "participant2" is not participant of room "file last share room" (v4)
|
||||
|
||||
Scenario: guest is removed from the room of a file shared by link after leaving it
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
And user "guest" gets the room for last share with 200 (v1)
|
||||
And user "guest" joins room "file last share room" with 200 (v4)
|
||||
And user "guest" is participant of room "file last share room" (v4)
|
||||
When user "guest" leaves room "file last share room" with 200 (v4)
|
||||
And user "guest" is not participant of room "file last share room" (v4)
|
||||
|
||||
|
||||
|
||||
Scenario: owner of a shared file can join its room again after removing self from it
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
# Note that the room token is got by a different user than the one that
|
||||
# joins the room
|
||||
And user "participant2" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
And user "participant1" joins room "file welcome (2).txt room" with 200 (v4)
|
||||
And user "participant1" is participant of room "file welcome (2).txt room" (v4)
|
||||
When user "participant1" removes themselves from room "file welcome (2).txt room" with 200 (v4)
|
||||
And user "participant1" is not participant of room "file welcome (2).txt room" (v4)
|
||||
And user "participant1" joins room "file welcome (2).txt room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "file welcome (2).txt room" (v4)
|
||||
|
||||
Scenario: user with access to a file can join its room again after removing self from it
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
# Note that the room token is got by a different user than the one that
|
||||
# joins the room
|
||||
And user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
And user "participant2" joins room "file welcome.txt room" with 200 (v4)
|
||||
And user "participant2" is participant of room "file welcome.txt room" (v4)
|
||||
When user "participant2" removes themselves from room "file welcome.txt room" with 200 (v4)
|
||||
And user "participant2" is not participant of room "file welcome.txt room" (v4)
|
||||
And user "participant2" joins room "file welcome.txt room" with 200 (v4)
|
||||
Then user "participant2" is participant of room "file welcome.txt room" (v4)
|
||||
|
||||
|
||||
|
||||
Scenario: owner of a file shared by link can join its room again after removing self from it
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
And user "participant1" gets the room for last share with 200 (v1)
|
||||
And user "participant1" joins room "file last share room" with 200 (v4)
|
||||
And user "participant1" is participant of room "file last share room" (v4)
|
||||
When user "participant1" removes themselves from room "file last share room" with 200 (v4)
|
||||
And user "participant1" is not participant of room "file last share room" (v4)
|
||||
And user "participant1" joins room "file last share room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "file last share room" (v4)
|
||||
|
||||
Scenario: user with access to a file shared by link can join its room again after removing self from it
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
And user "participant2" gets the room for last share with 200 (v1)
|
||||
And user "participant2" joins room "file last share room" with 200 (v4)
|
||||
And user "participant2" is participant of room "file last share room" (v4)
|
||||
When user "participant2" removes themselves from room "file last share room" with 200 (v4)
|
||||
And user "participant2" is not participant of room "file last share room" (v4)
|
||||
And user "participant2" joins room "file last share room" with 200 (v4)
|
||||
Then user "participant2" is participant of room "file last share room" (v4)
|
||||
|
||||
Scenario: user without access to a file shared by link can join its room again after removing self from it
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
# Users without access to a file shared by link need to log in (so further
|
||||
# requests keep the same session) and get the room (so the share token is
|
||||
# stored in the session) to be able to join it.
|
||||
And user "participant2" logs in
|
||||
And user "participant2" gets the room for last share with 200 (v1)
|
||||
And user "participant2" joins room "file last share room" with 200 (v4)
|
||||
And user "participant2" is participant of room "file last share room" (v4)
|
||||
When user "participant2" removes themselves from room "file last share room" with 200 (v4)
|
||||
And user "participant2" is not participant of room "file last share room" (v4)
|
||||
And user "participant2" joins room "file last share room" with 200 (v4)
|
||||
Then user "participant2" is participant of room "file last share room" (v4)
|
||||
|
||||
# Guests can not remove themselves from a room.
|
||||
|
||||
|
||||
|
||||
# Participants are removed from the room for a no longer shared file once they
|
||||
# try to join the room again, but not when the file is unshared.
|
||||
|
||||
Scenario: owner is participant of room for file no longer shared
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" gets the room for path "welcome.txt" with 200 (v1)
|
||||
And user "participant1" joins room "file welcome.txt room" with 200 (v4)
|
||||
And user "participant1" leaves room "file welcome.txt room" with 200 (v4)
|
||||
And user "participant1" is participant of room "file welcome.txt room" (v4)
|
||||
When user "participant1" deletes last share
|
||||
Then user "participant1" is participant of room "file welcome.txt room" (v4)
|
||||
And user "participant1" joins room "file welcome.txt room" with 200 (v4)
|
||||
And user "participant1" is participant of room "file welcome.txt room" (v4)
|
||||
|
||||
Scenario: user is not participant of room for file no longer with access to it
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant2" gets the room for path "welcome (2).txt" with 200 (v1)
|
||||
And user "participant2" joins room "file welcome (2).txt room" with 200 (v4)
|
||||
And user "participant2" leaves room "file welcome (2).txt room" with 200 (v4)
|
||||
And user "participant2" is participant of room "file welcome (2).txt room" (v4)
|
||||
When user "participant1" deletes last share
|
||||
Then user "participant2" is participant of room "file welcome (2).txt room" (v4)
|
||||
And user "participant2" joins room "file welcome (2).txt room" with 404 (v4)
|
||||
And user "participant2" is not participant of room "file welcome (2).txt room" (v4)
|
||||
|
||||
|
||||
|
||||
Scenario: owner is participant of room for file no longer shared by link
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
And user "participant1" gets the room for last share with 200 (v1)
|
||||
And user "participant1" joins room "file last share room" with 200 (v4)
|
||||
And user "participant1" leaves room "file last share room" with 200 (v4)
|
||||
And user "participant1" is participant of room "file last share room" (v4)
|
||||
When user "participant1" deletes last share
|
||||
Then user "participant1" is participant of room "file last share room" (v4)
|
||||
And user "participant1" joins room "file last share room" with 200 (v4)
|
||||
And user "participant1" is participant of room "file last share room" (v4)
|
||||
|
||||
Scenario: user is participant of room for file no longer shared by link but with access to it
|
||||
Given user "participant1" shares "welcome.txt" with user "participant2" with OCS 100
|
||||
And user "participant2" accepts last share
|
||||
And user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
And user "participant2" gets the room for last share with 200 (v1)
|
||||
And user "participant2" joins room "file last share room" with 200 (v4)
|
||||
And user "participant2" leaves room "file last share room" with 200 (v4)
|
||||
And user "participant2" is participant of room "file last share room" (v4)
|
||||
When user "participant1" deletes last share
|
||||
Then user "participant2" is participant of room "file last share room" (v4)
|
||||
# Although the room was created for the shared link it will still be
|
||||
# available to other types of shares after the shared link is deleted.
|
||||
And user "participant2" joins room "file last share room" with 200 (v4)
|
||||
And user "participant2" is participant of room "file last share room" (v4)
|
||||
|
||||
Scenario: user is not participant of room for file no longer shared by link and without access to it
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
# Users without access to a file shared by link need to log in (so further
|
||||
# requests keep the same session) and get the room (so the share token is
|
||||
# stored in the session) to be able to join it.
|
||||
And user "participant2" logs in
|
||||
And user "participant2" gets the room for last share with 200 (v1)
|
||||
And user "participant2" joins room "file last share room" with 200 (v4)
|
||||
And user "participant2" leaves room "file last share room" with 200 (v4)
|
||||
And user "participant2" is not participant of room "file last share room" (v4)
|
||||
When user "participant1" deletes last share
|
||||
Then user "participant2" is not participant of room "file last share room" (v4)
|
||||
And user "participant2" joins room "file last share room" with 404 (v4)
|
||||
And user "participant2" is not participant of room "file last share room" (v4)
|
||||
|
||||
Scenario: guest is not participant of room for file no longer shared by link
|
||||
Given user "participant1" shares "welcome.txt" by link with OCS 100
|
||||
And user "guest" gets the room for last share with 200 (v1)
|
||||
And user "guest" joins room "file last share room" with 200 (v4)
|
||||
And user "guest" leaves room "file last share room" with 200 (v4)
|
||||
When user "participant1" deletes last share
|
||||
Then user "guest" is not participant of room "file last share room" (v4)
|
||||
And user "guest" joins room "file last share room" with 404 (v4)
|
||||
And user "guest" is not participant of room "file last share room" (v4)
|
||||
@@ -0,0 +1,128 @@
|
||||
Feature: conversation/find-listed
|
||||
Background:
|
||||
Given user "creator" exists
|
||||
And user "regular-user" exists
|
||||
And guest accounts can be created
|
||||
And user "user-guest@example.com" is a guest account user
|
||||
|
||||
Scenario Outline: Nobody can find non-listed rooms
|
||||
Given user "creator" creates room "group-room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | group-room |
|
||||
And user "creator" creates room "public-room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | public-room |
|
||||
When user "creator" allows listing room "group-room" for "none" with 200 (v4)
|
||||
And user "creator" allows listing room "public-room" for "none" with 200 (v4)
|
||||
Then user "<user>" cannot find any listed rooms (v4)
|
||||
Examples:
|
||||
| user |
|
||||
| creator |
|
||||
| regular-user |
|
||||
| user-guest@example.com |
|
||||
|
||||
Scenario: Regular users can find user-listed rooms
|
||||
Given user "creator" creates room "group-room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | group-room |
|
||||
And user "creator" creates room "public-room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | public-room |
|
||||
And user "creator" sets description for room "group-room" to "the group-room description" with 200 (v4)
|
||||
And user "creator" sets description for room "public-room" to "the public-room description" with 200 (v4)
|
||||
When user "creator" allows listing room "group-room" for "users" with 200 (v4)
|
||||
And user "creator" allows listing room "public-room" for "users" with 200 (v4)
|
||||
Then user "regular-user" can find listed rooms (v4)
|
||||
| name | listable | description |
|
||||
| group-room | 1 | the group-room description |
|
||||
| public-room | 1 | the public-room description |
|
||||
And user "user-guest@example.com" cannot find any listed rooms (v4)
|
||||
|
||||
Scenario: All users can find all-listed rooms
|
||||
Given user "creator" creates room "group-room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | group-room |
|
||||
And user "creator" creates room "public-room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | public-room |
|
||||
When user "creator" allows listing room "group-room" for "all" with 200 (v4)
|
||||
And user "creator" allows listing room "public-room" for "all" with 200 (v4)
|
||||
Then user "regular-user" can find listed rooms (v4)
|
||||
| name | listable |
|
||||
| group-room | 2 |
|
||||
| public-room | 2 |
|
||||
And user "user-guest@example.com" can find listed rooms (v4)
|
||||
| name | listable |
|
||||
| group-room | 2 |
|
||||
| public-room | 2 |
|
||||
|
||||
Scenario: Participants cannot search for already joined listed rooms
|
||||
Given user "creator" creates room "group-room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | group-room |
|
||||
And user "creator" creates room "public-room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | public-room |
|
||||
And user "creator" allows listing room "group-room" for "users" with 200 (v4)
|
||||
And user "creator" allows listing room "public-room" for "users" with 200 (v4)
|
||||
When user "regular-user" joins room "group-room" with 200 (v4)
|
||||
And user "regular-user" joins room "public-room" with 200 (v4)
|
||||
Then user "regular-user" cannot find any listed rooms (v4)
|
||||
|
||||
Scenario: Participants cannot search for already joined listed rooms
|
||||
Given user "creator" creates room "group-room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | group-room |
|
||||
And user "creator" creates room "public-room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | public-room |
|
||||
And user "creator" allows listing room "group-room" for "users" with 200 (v4)
|
||||
And user "creator" allows listing room "public-room" for "users" with 200 (v4)
|
||||
When user "regular-user" joins room "group-room" with 200 (v4)
|
||||
And user "regular-user" joins room "public-room" with 200 (v4)
|
||||
Then user "regular-user" cannot find any listed rooms (v4)
|
||||
|
||||
Scenario: Users can use search terms to find listed rooms
|
||||
Given user "creator" creates room "group-room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | group-room |
|
||||
And user "creator" creates room "group-the-cool-room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | group-the-cool-room |
|
||||
And user "creator" creates room "public-room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | public-room |
|
||||
And user "creator" creates room "public-the-cool-room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | public-the-cool-room |
|
||||
When user "creator" allows listing room "group-room" for "all" with 200 (v4)
|
||||
And user "creator" allows listing room "public-room" for "all" with 200 (v4)
|
||||
And user "creator" allows listing room "group-the-cool-room" for "all" with 200 (v4)
|
||||
And user "creator" allows listing room "public-the-cool-room" for "all" with 200 (v4)
|
||||
Then user "regular-user" can find listed rooms with term "cool" (v4)
|
||||
| name | listable |
|
||||
| group-the-cool-room | 2 |
|
||||
| public-the-cool-room | 2 |
|
||||
And user "user-guest@example.com" can find listed rooms with term "cool" (v4)
|
||||
| name | listable |
|
||||
| group-the-cool-room | 2 |
|
||||
| public-the-cool-room | 2 |
|
||||
|
||||
Scenario: Searching for a listable room by unknown term returns no results
|
||||
Given user "creator" creates room "group-room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | group-room |
|
||||
When user "creator" allows listing room "group-room" for "all" with 200 (v4)
|
||||
Then user "regular-user" cannot find any listed rooms with term "cool" (v4)
|
||||
And user "user-guest@example.com" cannot find any listed rooms with term "cool" (v4)
|
||||
|
||||
Scenario: Guest users without accounts cannot search for listed rooms
|
||||
Given user "creator" creates room "public-room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | public-room |
|
||||
And user "creator" creates room "public-room-listed" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | public-room-listed |
|
||||
And user "creator" allows listing room "public-room-listed" for "all" with 200 (v4)
|
||||
When user "guest" joins room "public-room" with 200 (v4)
|
||||
Then user "guest" cannot find any listed rooms with 401 (v4)
|
||||
@@ -0,0 +1,112 @@
|
||||
Feature: conversation/join-listable
|
||||
Background:
|
||||
Given user "creator" exists
|
||||
And user "regular-user" exists
|
||||
And guest accounts can be created
|
||||
And user "user-guest@example.com" is a guest account user
|
||||
# implicit: And user "guest" is a guest user with no account
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Non-listed rooms
|
||||
# -----------------------------------------------------------------------------
|
||||
Scenario: Nobody can join a non-listed group room
|
||||
Given user "creator" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
When user "creator" allows listing room "room" for "none" with 200 (v4)
|
||||
Then user "regular-user" joins room "room" with 404 (v4)
|
||||
And user "user-guest@example.com" joins room "room" with 404 (v4)
|
||||
And user "guest" joins room "room" with 404 (v4)
|
||||
|
||||
Scenario: Anyone can join a non-listed public room
|
||||
Given user "creator" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "creator" allows listing room "room" for "none" with 200 (v4)
|
||||
When user "regular-user" joins room "room" with 200 (v4)
|
||||
And user "user-guest@example.com" joins room "room" with 200 (v4)
|
||||
And user "guest" joins room "room" with 200 (v4)
|
||||
Then user "creator" sees the following attendees in room "room" with 200 (v4)
|
||||
| actorId | participantType | actorType |
|
||||
| creator | OWNER | users |
|
||||
| regular-user | USER_SELF_JOINED | users |
|
||||
| user-guest@example.com | USER_SELF_JOINED | users |
|
||||
| "guest" | GUEST | guests |
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# User-listed rooms
|
||||
# -----------------------------------------------------------------------------
|
||||
Scenario: Only regular users can join a user-listed group room
|
||||
Given user "creator" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "creator" allows listing room "room" for "users" with 200 (v4)
|
||||
When user "regular-user" joins room "room" with 200 (v4)
|
||||
And user "user-guest@example.com" joins room "room" with 404 (v4)
|
||||
And user "guest" joins room "room" with 404 (v4)
|
||||
Then user "creator" sees the following attendees in room "room" with 200 (v4)
|
||||
| actorId | participantType | actorType |
|
||||
| creator | OWNER | users |
|
||||
| regular-user | USER | users |
|
||||
|
||||
Scenario: Anyone can join a user-listed public room
|
||||
Given user "creator" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "creator" allows listing room "room" for "users" with 200 (v4)
|
||||
When user "regular-user" joins room "room" with 200 (v4)
|
||||
And user "user-guest@example.com" joins room "room" with 200 (v4)
|
||||
And user "guest" joins room "room" with 200 (v4)
|
||||
Then user "creator" sees the following attendees in room "room" with 200 (v4)
|
||||
| actorId | participantType | actorType |
|
||||
| creator | OWNER | users |
|
||||
| regular-user | USER | users |
|
||||
| user-guest@example.com | USER_SELF_JOINED | users |
|
||||
| "guest" | GUEST | guests |
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# All-listed rooms
|
||||
# -----------------------------------------------------------------------------
|
||||
Scenario: Only users with accounts can join an all-listed group room
|
||||
Given user "creator" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "creator" allows listing room "room" for "all" with 200 (v4)
|
||||
When user "regular-user" joins room "room" with 200 (v4)
|
||||
And user "user-guest@example.com" joins room "room" with 200 (v4)
|
||||
And user "guest" joins room "room" with 404 (v4)
|
||||
Then user "creator" sees the following attendees in room "room" with 200 (v4)
|
||||
| actorId | participantType | actorType |
|
||||
| creator | OWNER | users |
|
||||
| regular-user | USER | users |
|
||||
| user-guest@example.com | USER | users |
|
||||
|
||||
Scenario: Anyone can join an all-listed public room
|
||||
Given user "creator" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "creator" allows listing room "room" for "all" with 200 (v4)
|
||||
When user "regular-user" joins room "room" with 200 (v4)
|
||||
And user "user-guest@example.com" joins room "room" with 200 (v4)
|
||||
And user "guest" joins room "room" with 200 (v4)
|
||||
Then user "creator" sees the following attendees in room "room" with 200 (v4)
|
||||
| actorId | participantType | actorType |
|
||||
| creator | OWNER | users |
|
||||
| regular-user | USER | users |
|
||||
| user-guest@example.com | USER | users |
|
||||
| "guest" | GUEST | guests |
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Join listed conversation which has a password
|
||||
# -----------------------------------------------------------------------------
|
||||
Scenario: Only users with accounts can join an all-listed group room
|
||||
Given user "creator" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
When user "creator" sets password "foobar" for room "room" with 200 (v4)
|
||||
And user "creator" allows listing room "room" for "all" with 200 (v4)
|
||||
When user "regular-user" joins room "room" with 200 (v4)
|
||||
Then user "creator" sees the following attendees in room "room" with 200 (v4)
|
||||
| actorId | participantType | actorType |
|
||||
| creator | OWNER | users |
|
||||
| regular-user | USER | users |
|
||||
Reference in New Issue
Block a user