Skip to content

Commit

Permalink
Merge pull request #12700 from nextcloud/backport/12632/stable15
Browse files Browse the repository at this point in the history
[stable15] Add acceptance tests for sharing files and folders with another user
  • Loading branch information
kesselb committed Nov 28, 2018
2 parents 7bdfc0c + c6ca6b0 commit a027d55
Show file tree
Hide file tree
Showing 10 changed files with 991 additions and 480 deletions.
18 changes: 18 additions & 0 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -703,6 +703,20 @@ pipeline:
when:
matrix:
TESTS-ACCEPTANCE: app-files
acceptance-app-files-sharing:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-files-sharing --selenium-server selenium:4444 allow-git-repository-modifications features/app-files-sharing.feature
when:
matrix:
TESTS-ACCEPTANCE: app-files-sharing
acceptance-app-files-sharing-link:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-files-sharing-link --selenium-server selenium:4444 allow-git-repository-modifications features/app-files-sharing-link.feature
when:
matrix:
TESTS-ACCEPTANCE: app-files-sharing-link
acceptance-app-files-tags:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
Expand Down Expand Up @@ -957,6 +971,10 @@ matrix:
TESTS-ACCEPTANCE: app-comments
- TESTS: acceptance
TESTS-ACCEPTANCE: app-files
- TESTS: acceptance
TESTS-ACCEPTANCE: app-files-sharing
- TESTS: acceptance
TESTS-ACCEPTANCE: app-files-sharing-link
- TESTS: acceptance
TESTS-ACCEPTANCE: app-files-tags
- TESTS: acceptance
Expand Down
9 changes: 7 additions & 2 deletions tests/acceptance/config/behat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@ default:
- FeatureContext
- FileListContext
- FilesAppContext
- FilesSharingAppContext
- FilesAppSharingContext
- LoginPageContext
- NotificationContext
- PublicShareContext
- SettingsContext
- SettingsMenuContext
- ThemingAppContext
Expand All @@ -42,9 +43,10 @@ default:
- FeatureContext
- FileListContext
- FilesAppContext
- FilesSharingAppContext
- FilesAppSharingContext
- LoginPageContext
- NotificationContext
- PublicShareContext
- SettingsContext
- SettingsMenuContext
- ThemingAppContext
Expand All @@ -63,6 +65,9 @@ default:
Jane:
selenium2:
wd_host: %selenium.server%
Jim:
selenium2:
wd_host: %selenium.server%
Rubeus:
# Rubeus uses a browser that has CSS grid support.
selenium2:
Expand Down
149 changes: 149 additions & 0 deletions tests/acceptance/features/app-files-sharing-link.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
Feature: app-files-sharing-link

Scenario: open the menu in a public shared link
Given I act as John
And I am logged in
And I share the link for "welcome.txt"
And I write down the shared link
When I act as Jane
And I visit the shared link I wrote down
And I see that the current page is the shared link I wrote down
And I open the Share menu
Then I see that the Share menu is shown

Scenario: hide download in a public shared link
Given I act as John
And I am logged in
And I share the link for "welcome.txt"
And I set the download of the shared link as hidden
And I write down the shared link
When I act as Jane
And I visit the shared link I wrote down
And I see that the current page is the shared link I wrote down
Then I see that the download button is not shown
And I see that the Share menu button is not shown

Scenario: show download again in a public shared link
Given I act as John
And I am logged in
And I share the link for "welcome.txt"
And I set the download of the shared link as hidden
And I set the download of the shared link as shown
And I write down the shared link
When I act as Jane
And I visit the shared link I wrote down
And I see that the current page is the shared link I wrote down
Then I see that the download button is shown
And I open the Share menu
And I see that the Share menu is shown

Scenario: creation is not possible by default in a public shared folder
Given I act as John
And I am logged in
And I create a new folder named "Shared folder"
# To share the link the "Share" inline action has to be clicked but, as the
# details view is opened automatically when the folder is created, clicking
# on the inline action could fail if it is covered by the details view due
# to its opening animation. Instead of ensuring that the animations of the
# contents and the details view have both finished it is easier to close the
# details view and wait until it is closed before continuing.
And I close the details view
And I see that the details view is closed
And I share the link for "Shared folder"
And I write down the shared link
When I act as Jane
And I visit the shared link I wrote down
And I see that the current page is the shared link I wrote down
And I see that the file list is eventually loaded
Then I see that it is not possible to create new files

Scenario: create folder in a public editable shared folder
Given I act as John
And I am logged in
And I create a new folder named "Editable shared folder"
# To share the link the "Share" inline action has to be clicked but, as the
# details view is opened automatically when the folder is created, clicking
# on the inline action could fail if it is covered by the details view due
# to its opening animation. Instead of ensuring that the animations of the
# contents and the details view have both finished it is easier to close the
# details view and wait until it is closed before continuing.
And I close the details view
And I see that the details view is closed
And I share the link for "Editable shared folder"
And I set the shared link as editable
And I write down the shared link
When I act as Jane
And I visit the shared link I wrote down
And I see that the current page is the shared link I wrote down
And I create a new folder named "Subfolder"
Then I see that the file list contains a file named "Subfolder"

Scenario: owner sees folder created in the public page of an editable shared folder
Given I act as John
And I am logged in
And I create a new folder named "Editable shared folder"
# To share the link the "Share" inline action has to be clicked but, as the
# details view is opened automatically when the folder is created, clicking
# on the inline action could fail if it is covered by the details view due
# to its opening animation. Instead of ensuring that the animations of the
# contents and the details view have both finished it is easier to close the
# details view and wait until it is closed before continuing.
And I close the details view
And I see that the details view is closed
And I share the link for "Editable shared folder"
And I set the shared link as editable
And I write down the shared link
And I act as Jane
And I visit the shared link I wrote down
And I see that the current page is the shared link I wrote down
And I create a new folder named "Subfolder"
And I see that the file list contains a file named "Subfolder"
When I act as John
And I enter in the folder named "Editable shared folder"
Then I see that the file list contains a file named "Subfolder"

Scenario: set a password to a shared link
Given I am logged in
And I share the link for "welcome.txt"
When I protect the shared link with the password "abcdef"
Then I see that the working icon for password protect is shown
And I see that the working icon for password protect is eventually not shown
And I see that the link share is password protected
# As Talk is not enabled in the acceptance tests of the server the checkbox
# is never shown.
And I see that the checkbox to protect the password of the link share by Talk is not shown

Scenario: access a shared link protected by password with a valid password
Given I act as John
And I am logged in
And I share the link for "welcome.txt" protected by the password "abcdef"
And I write down the shared link
When I act as Jane
And I visit the shared link I wrote down
And I see that the current page is the Authenticate page for the shared link I wrote down
And I authenticate with password "abcdef"
Then I see that the current page is the shared link I wrote down
And I see that the shared file preview shows the text "Welcome to your Nextcloud account!"

Scenario: access a shared link protected by password with an invalid password
Given I act as John
And I am logged in
And I share the link for "welcome.txt" protected by the password "abcdef"
And I write down the shared link
When I act as Jane
And I visit the shared link I wrote down
And I authenticate with password "fedcba"
Then I see that the current page is the Authenticate page for the shared link I wrote down
And I see that a wrong password for the shared file message is shown

Scenario: access a direct download shared link protected by password with a valid password
Given I act as John
And I am logged in
And I share the link for "welcome.txt" protected by the password "abcdef"
And I write down the shared link
When I act as Jane
And I visit the direct download shared link I wrote down
And I see that the current page is the Authenticate page for the direct download shared link I wrote down
And I authenticate with password "abcdef"
# download starts no page redirection
And I see that the current page is the Authenticate page for the direct download shared link I wrote down
Loading

0 comments on commit a027d55

Please sign in to comment.