Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDaniel Calviño Sánchez <danxuliu@gmail.com>2020-03-20 21:51:09 +0300
committerDaniel Calviño Sánchez <danxuliu@gmail.com>2020-03-20 22:03:58 +0300
commit9386f24ab0a1b795f53f68ee064bde6756150217 (patch)
tree7e057503920a73cb7401dcd3a3f5a888656c2b97 /tests
parent887e74043468106ec7a28b2b68e38d471696357e (diff)
Add acceptance test for accepting an incoming share
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/acceptance/features/app-files-sharing.feature27
-rw-r--r--tests/acceptance/features/bootstrap/SettingsContext.php44
2 files changed, 71 insertions, 0 deletions
diff --git a/tests/acceptance/features/app-files-sharing.feature b/tests/acceptance/features/app-files-sharing.feature
index 401384816e8..e3b0ec30cf8 100644
--- a/tests/acceptance/features/app-files-sharing.feature
+++ b/tests/acceptance/features/app-files-sharing.feature
@@ -20,6 +20,33 @@ Feature: app-files-sharing
And I see that the "Sharing" tab in the details view is eventually loaded
And I see that the file is shared with me by "admin"
+ Scenario: share a file with another user that needs to accept shares
+ Given I act as John
+ And I am logged in as the admin
+ And I act as Jane
+ And I am logged in
+ And I visit the settings page
+ And I open the "Sharing" section
+ And I disable accepting the shares by default
+ And I see that shares are not accepted by default
+ And I act as John
+ And I rename "welcome.txt" to "farewell.txt"
+ And I see that the file list contains a file named "farewell.txt"
+ When I share "farewell.txt" with "user0"
+ And I see that the file is shared with "user0"
+ And I act as Jane
+ And I open the Files app
+ And I see that the file list does not contain a file named "farewell.txt"
+ And I accept the share for "/farewell.txt" in the notifications
+ # The Files app is open again to reload the file list
+ And I open the Files app
+ Then I see that the file list contains a file named "farewell.txt"
+ And I open the details view for "farewell.txt"
+ And I see that the details view is open
+ And I open the "Sharing" tab in the details view
+ And I see that the "Sharing" tab in the details view is eventually loaded
+ And I see that the file is shared with me by "admin"
+
Scenario: share a file with another user who already has a file with that name
Given I act as John
And I am logged in as the admin
diff --git a/tests/acceptance/features/bootstrap/SettingsContext.php b/tests/acceptance/features/bootstrap/SettingsContext.php
index edbb6a94d15..82b22c43338 100644
--- a/tests/acceptance/features/bootstrap/SettingsContext.php
+++ b/tests/acceptance/features/bootstrap/SettingsContext.php
@@ -30,6 +30,25 @@ class SettingsContext implements Context, ActorAwareInterface {
/**
* @return Locator
*/
+ public static function acceptSharesByDefaultCheckbox() {
+ // forThe()->checkbox("Accept user...") can not be used here; that would
+ // return the checkbox itself, but the element that the user interacts
+ // with is the label.
+ return Locator::forThe()->xpath("//label[normalize-space() = 'Accept user and group shares by default']")->
+ describedAs("Accept shares by default checkbox in Sharing section in Personal Sharing Settings");
+ }
+
+ /**
+ * @return Locator
+ */
+ public static function acceptSharesByDefaultCheckboxInput() {
+ return Locator::forThe()->checkbox("Accept user and group shares by default")->
+ describedAs("Accept shares by default checkbox input in Sharing section in Personal Sharing Settings");
+ }
+
+ /**
+ * @return Locator
+ */
public static function systemTagsSelectTagButton() {
return Locator::forThe()->id("s2id_systemtag")->
describedAs("Select tag button in system tags section in Administration Settings");
@@ -85,6 +104,15 @@ class SettingsContext implements Context, ActorAwareInterface {
}
/**
+ * @When I disable accepting the shares by default
+ */
+ public function iDisableAcceptingTheSharesByDefault() {
+ $this->iSeeThatSharesAreAcceptedByDefault();
+
+ $this->actor->find(self::acceptSharesByDefaultCheckbox(), 2)->click();
+ }
+
+ /**
* @When I create the tag :tag in the settings
*/
public function iCreateTheTagInTheSettings($tag) {
@@ -94,6 +122,22 @@ class SettingsContext implements Context, ActorAwareInterface {
}
/**
+ * @Then I see that shares are accepted by default
+ */
+ public function iSeeThatSharesAreAcceptedByDefault() {
+ PHPUnit_Framework_Assert::assertTrue(
+ $this->actor->find(self::acceptSharesByDefaultCheckboxInput(), 10)->isChecked());
+ }
+
+ /**
+ * @Then I see that shares are not accepted by default
+ */
+ public function iSeeThatSharesAreNotAcceptedByDefault() {
+ PHPUnit_Framework_Assert::assertFalse(
+ $this->actor->find(self::acceptSharesByDefaultCheckboxInput(), 10)->isChecked());
+ }
+
+ /**
* @Then I see that the button to select tags is shown
*/
public function iSeeThatTheButtonToSelectTagsIsShown() {