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-24 16:42:52 +0300
committerDaniel Calviño Sánchez <danxuliu@gmail.com>2020-03-24 16:42:52 +0300
commit4ec370016f8679925ddb87c77bc58467511d21d8 (patch)
treef5dcfa2a585797698d5d09d2a647b6b7c75100d9 /tests
parentd4f25b01b8d47cc354b0909f32153113e793494d (diff)
Add acceptance test for restricting user enumeration to groups
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/acceptance/features/bootstrap/SettingsContext.php44
-rw-r--r--tests/acceptance/features/header.feature11
2 files changed, 55 insertions, 0 deletions
diff --git a/tests/acceptance/features/bootstrap/SettingsContext.php b/tests/acceptance/features/bootstrap/SettingsContext.php
index 82b22c43338..5f9a724e771 100644
--- a/tests/acceptance/features/bootstrap/SettingsContext.php
+++ b/tests/acceptance/features/bootstrap/SettingsContext.php
@@ -49,6 +49,25 @@ class SettingsContext implements Context, ActorAwareInterface {
/**
* @return Locator
*/
+ public static function restrictUsernameAutocompletionToGroupsCheckbox() {
+ // forThe()->checkbox("Restrict username...") 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() = 'Restrict username autocompletion to users within the same groups']")->
+ describedAs("Restrict username autocompletion to groups checkbox in Sharing section in Administration Sharing Settings");
+ }
+
+ /**
+ * @return Locator
+ */
+ public static function restrictUsernameAutocompletionToGroupsCheckboxInput() {
+ return Locator::forThe()->checkbox("Restrict username autocompletion to users within the same groups")->
+ describedAs("Restrict username autocompletion to groups checkbox input in Sharing section in Administration 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");
@@ -113,6 +132,15 @@ class SettingsContext implements Context, ActorAwareInterface {
}
/**
+ * @When I enable restricting username autocompletion to groups
+ */
+ public function iEnableRestrictingUsernameAutocompletionToGroups() {
+ $this->iSeeThatUsernameAutocompletionIsNotRestrictedToGroups();
+
+ $this->actor->find(self::restrictUsernameAutocompletionToGroupsCheckbox(), 2)->click();
+ }
+
+ /**
* @When I create the tag :tag in the settings
*/
public function iCreateTheTagInTheSettings($tag) {
@@ -130,6 +158,22 @@ class SettingsContext implements Context, ActorAwareInterface {
}
/**
+ * @Then I see that username autocompletion is restricted to groups
+ */
+ public function iSeeThatUsernameAutocompletionIsRestrictedToGroups() {
+ PHPUnit_Framework_Assert::assertTrue(
+ $this->actor->find(self::restrictUsernameAutocompletionToGroupsCheckboxInput(), 10)->isChecked());
+ }
+
+ /**
+ * @Then I see that username autocompletion is not restricted to groups
+ */
+ public function iSeeThatUsernameAutocompletionIsNotRestrictedToGroups() {
+ PHPUnit_Framework_Assert::assertFalse(
+ $this->actor->find(self::restrictUsernameAutocompletionToGroupsCheckboxInput(), 10)->isChecked());
+ }
+
+ /**
* @Then I see that shares are not accepted by default
*/
public function iSeeThatSharesAreNotAcceptedByDefault() {
diff --git a/tests/acceptance/features/header.feature b/tests/acceptance/features/header.feature
index 04d5963668d..94b08e8f6d9 100644
--- a/tests/acceptance/features/header.feature
+++ b/tests/acceptance/features/header.feature
@@ -28,6 +28,17 @@ Feature: header
And I see that the contact "user0" in the Contacts menu is shown
And I see that the contact "admin" in the Contacts menu is not shown
+ Scenario: users from other groups are not seen in the contacts menu when autocompletion is restricted within the same group
+ Given I am logged in as the admin
+ And I visit the settings page
+ And I open the "Sharing" section of the "Administration" group
+ And I enable restricting username autocompletion to groups
+ And I see that username autocompletion is restricted to groups
+ When I open the Contacts menu
+ Then I see that the Contacts menu is shown
+ And I see that the contact "user0" in the Contacts menu is not shown
+ And I see that the contact "admin" in the Contacts menu is not shown
+
Scenario: just added users are seen in the contacts menu
Given I am logged in as the admin
And I open the User settings