166 lines
6.5 KiB
Gherkin
166 lines
6.5 KiB
Gherkin
Feature: File sharing
|
|
|
|
Background:
|
|
Given user "admin" exists
|
|
And user "user0" exists
|
|
And user "user1" exists
|
|
And user "user2" exists
|
|
And user "user3" exists
|
|
Given group "group0" exists
|
|
And group "group1" exists
|
|
Given user "user2" belongs to group "group1"
|
|
Given user "user3" belongs to group "group1"
|
|
|
|
Scenario: Share a file with a card by the board owner
|
|
Given acting as user "user0"
|
|
And creates a board named "Shared board" with color "fafafa"
|
|
And create a stack named "Stack"
|
|
And create a card named "Test"
|
|
And shares the board with user "user1"
|
|
Then the HTTP status code should be "200"
|
|
|
|
Given using new dav path
|
|
When User "user0" uploads file "../data/test.txt" to "/user0-file.txt"
|
|
Then the HTTP status code should be "201"
|
|
Given acting as user "user0"
|
|
When share the file "/user0-file.txt" with the card
|
|
Then the OCS status code should be "100"
|
|
And the HTTP status code should be "200"
|
|
|
|
And as "user1" the file "/Deck/user0-file.txt" exists
|
|
|
|
Scenario: Share a file with a card by another user
|
|
Given acting as user "user0"
|
|
And creates a board named "Shared board" with color "fafafa"
|
|
And create a stack named "Stack"
|
|
And create a card named "Test"
|
|
And shares the board with user "user1"
|
|
| permissionEdit | 1 |
|
|
| permissionShare | 1 |
|
|
| permissionManage | 1 |
|
|
Then the HTTP status code should be "200"
|
|
|
|
Given using new dav path
|
|
When User "user1" uploads file "../data/test.txt" to "/user1-file.txt"
|
|
Then the HTTP status code should be "201"
|
|
Given acting as user "user1"
|
|
And share the file "/user1-file.txt" with the card
|
|
Then the OCS status code should be "100"
|
|
And the HTTP status code should be "200"
|
|
|
|
And as "user0" the file "/Deck/user1-file.txt" exists
|
|
And as "user1" the file "/Deck/user1-file.txt" does not exist
|
|
|
|
Scenario: Share a file with a card by another user fails without edit permission
|
|
Given acting as user "user0"
|
|
And creates a board named "Shared board" with color "fafafa"
|
|
And create a stack named "Stack"
|
|
And create a card named "Test"
|
|
And shares the board with user "user1"
|
|
Then the HTTP status code should be "200"
|
|
|
|
Given using new dav path
|
|
When User "user1" uploads file "../data/test.txt" to "/user1-file.txt"
|
|
Then the HTTP status code should be "201"
|
|
Given acting as user "user1"
|
|
And share the file "/user1-file.txt" with the card
|
|
Then the OCS status code should be "404"
|
|
And the HTTP status code should be "200"
|
|
And as "user0" the file "/Deck/user1-file.txt" does not exist
|
|
|
|
Scenario: Share a file with a card by another user through a group
|
|
Given acting as user "user0"
|
|
And creates a board named "Shared board" with color "fafafa"
|
|
And create a stack named "Stack"
|
|
And create a card named "Test"
|
|
And shares the board with group "group1"
|
|
Then the HTTP status code should be "200"
|
|
|
|
Given using new dav path
|
|
When User "user0" uploads file "../data/test.txt" to "/user0-file2.txt"
|
|
Then the HTTP status code should be "201"
|
|
Given acting as user "user0"
|
|
When share the file "/user0-file2.txt" with the card
|
|
Then the OCS status code should be "100"
|
|
And the HTTP status code should be "200"
|
|
|
|
And as "user2" the file "/Deck/user0-file2.txt" exists
|
|
And as "user0" the file "/Deck/user0-file2.txt" does not exist
|
|
|
|
Scenario: Remove incoming group share as a user
|
|
Given acting as user "user0"
|
|
And creates a board named "Shared board" with color "fafafa"
|
|
And create a stack named "Stack"
|
|
And create a card named "Test"
|
|
And shares the board with group "group1"
|
|
Then the HTTP status code should be "200"
|
|
|
|
Given using new dav path
|
|
When User "user0" uploads file "../data/test.txt" to "/user0-file2.txt"
|
|
Then the HTTP status code should be "201"
|
|
Given acting as user "user0"
|
|
When share the file "/user0-file2.txt" with the card
|
|
Then the OCS status code should be "100"
|
|
And the HTTP status code should be "200"
|
|
|
|
And as "user2" the file "/Deck/user0-file2.txt" exists
|
|
And as "user3" the file "/Deck/user0-file2.txt" exists
|
|
And as "user0" the file "/Deck/user0-file2.txt" does not exist
|
|
|
|
Given User "user2" deletes file "/Deck/user0-file2.txt"
|
|
And as "user2" the file "/Deck/user0-file2.txt" does not exist
|
|
And as "user3" the file "/Deck/user0-file2.txt" exists
|
|
|
|
Scenario: Remove a share as the owner
|
|
Given acting as user "user0"
|
|
And creates a board named "Shared board" with color "fafafa"
|
|
And create a stack named "Stack"
|
|
And create a card named "Test"
|
|
And shares the board with group "group1"
|
|
Then the HTTP status code should be "200"
|
|
|
|
Given using new dav path
|
|
When User "user0" uploads file "../data/test.txt" to "/user0-file2.txt"
|
|
Then the HTTP status code should be "201"
|
|
Given acting as user "user0"
|
|
When share the file "/user0-file2.txt" with the card
|
|
Then the OCS status code should be "100"
|
|
And the HTTP status code should be "200"
|
|
|
|
And as "user2" the file "/Deck/user0-file2.txt" exists
|
|
And as "user3" the file "/Deck/user0-file2.txt" exists
|
|
And as "user0" the file "/Deck/user0-file2.txt" does not exist
|
|
|
|
Given acting as user "user0"
|
|
When Deleting last share
|
|
And as "user2" the file "/Deck/user0-file2.txt" does not exist
|
|
And as "user3" the file "/Deck/user0-file2.txt" does not exist
|
|
|
|
Scenario: Remove a share through the deck API
|
|
Given acting as user "user0"
|
|
When creates a board with example content
|
|
And remember the last card as "user0-card"
|
|
And uploads an attachment to the last used card
|
|
And remember the last attachment as "user0-attachment"
|
|
|
|
Given acting as user "user1"
|
|
When creates a board with example content
|
|
And remember the last card as "user1-card"
|
|
And uploads an attachment to the last used card
|
|
And remember the last attachment as "user1-attachment"
|
|
|
|
Given acting as user "user0"
|
|
When fetching the attachment "user1-attachment" for the card "user0-card"
|
|
Then the response should have a status code 403
|
|
When deleting the attachment "user1-attachment" for the card "user0-card"
|
|
Then the response should have a status code 403
|
|
|
|
When fetching the attachment "user0-attachment" for the card "user0-card"
|
|
Then the response should have a status code 200
|
|
When deleting the attachment "user0-attachment" for the card "user0-card"
|
|
Then the response should have a status code 200
|
|
|
|
Given acting as user "user1"
|
|
When deleting the attachment "user1-attachment" for the card "user1-card"
|
|
Then the response should have a status code 200
|