' +
@@ -156,6 +160,7 @@
this.$('.localShareView').toggleClass('hidden', !$target.hasClass('subtab-localshare'));
var $linkShareView = this.$('.linkShareView');
+ var $linkListView = this.$('.linkListView');
if ($linkShareView.length) {
$linkShareView.toggleClass('hidden', !$target.hasClass('subtab-publicshare'));
@@ -166,7 +171,7 @@
itemModel: this.model
});
this.linkShareView.render();
- $linkShareView.append(this.linkShareView.$el);
+ $linkListView.html(this.linkShareView.$el);
}
}
},
diff --git a/core/js/tests/specs/sharedialogviewSpec.js b/core/js/tests/specs/sharedialogviewSpec.js
index 04c58ae704ff..05324277639e 100644
--- a/core/js/tests/specs/sharedialogviewSpec.js
+++ b/core/js/tests/specs/sharedialogviewSpec.js
@@ -35,6 +35,7 @@ describe('OC.Share.ShareDialogView', function() {
var configModel;
var shareModel;
var fileInfoModel;
+ var fileList;
var dialog;
beforeEach(function() {
@@ -963,11 +964,55 @@ describe('OC.Share.ShareDialogView', function() {
expect(dialog.$('.tabsContainer>.tab:eq(1)').hasClass('hidden')).toEqual(false);
});
it('creates link share view only after selecting tab', function() {
- expect(dialog.$('.linkShareView').is(':empty')).toEqual(true);
-
+ expect(dialog.$('.linkListView').is(':empty')).toEqual(true);
+
dialog.$('.subTabHeaders>.subTabHeader:eq(1)').click();
- expect(dialog.$('.linkShareView').is(':empty')).toEqual(false);
+ expect(dialog.$('.linkListView').is(':empty')).toEqual(false);
+ });
+ });
+ describe('shareTree', function() {
+ beforeEach(function() {
+ dialog.render();
+
+ $('#testArea').append('')
+ fileList = new OCA.Files.FileList($('#filelist'));
+ fileList._setShareTreeCache({
+ '/folder' : {
+ name: "folder",
+ shares : [{
+ share_type: 0,
+ share_with_displayname: "Demo user",
+ }, {
+ share_type: 1,
+ share_with_displayname: "Demo group",
+ }, {
+ share_type: 3,
+ share_with_displayname: "Demo link #1",
+ }, {
+ share_type: 3,
+ share_with_displayname: "Demo link #2",
+ }, {
+ share_type: 4,
+ share_with_displayname: "Demo guest",
+ }, {
+ share_type: 6,
+ share_with_displayname: "Demo remote user",
+ }]
+ }
+ });
+ });
+ afterEach(function() {
+ fileList.destroy();
+ $('#filelist').remove();
+ });
+ it('renders parent user/groups shares', function() {
+ fileList._setShareTreeUserGroupView();
+ expect(dialog.$el.find('#shareTreeUserGroupList li').length).toEqual(4);
+ });
+ it('renders parent link shares', function() {
+ fileList._setShareTreeLinkView();
+ expect(dialog.$el.find('#shareTreeLinkList li').length).toEqual(2);
});
});
});
diff --git a/tests/acceptance/features/bootstrap/WebUIFilesContext.php b/tests/acceptance/features/bootstrap/WebUIFilesContext.php
index 534f10031fea..bd6b820a7a0b 100644
--- a/tests/acceptance/features/bootstrap/WebUIFilesContext.php
+++ b/tests/acceptance/features/bootstrap/WebUIFilesContext.php
@@ -2211,4 +2211,39 @@ public function theUserRestoresTheFileToLastVersionUsingTheWebui() {
$this->getSession()
);
}
+
+ /**
+ * @Then /^(user|group|public link|federated user) ((?:'[^']*')|(?:"[^"]*")) should be listed as share receiver via ((?:'[^']*')|(?:"[^"]*")) on the webUI$/
+ *
+ * @param string $type user|group|public link|federated user
+ * @param string $name
+ * @param string $item
+ *
+ * @return void
+ */
+ public function userGroupShouldBeListedAsShareReceiver($type, $name, $item) {
+ // The capturing group of the regex always includes the quotes at each
+ // end of the captured string, so trim them.
+ $name = $this->featureContext->substituteInLineCodes($name);
+ $name = \trim($name, $name[0]);
+ $item = \trim($item, $item[0]);
+
+ $sharingDialog = $this->filesPage->getSharingDialog();
+ $shareTreeItem = $sharingDialog->getShareTreeItem($type, $name, $item);
+ Assert::assertTrue($shareTreeItem->isVisible());
+ }
+
+ /**
+ * @Then public link with last share token should be listed as share receiver via :item on the webUI
+ *
+ * @param string $item
+ *
+ * @return void
+ */
+ public function publicLinkWithLastShareTokenShouldBeListedAsShareReceiverViaOnTheWebUI($item) {
+ $token = $this->featureContext->getLastShareData()->data->token;
+ $sharingDialog = $this->filesPage->getSharingDialog();
+ $shareTreeItem = $sharingDialog->getShareTreeItem("public link", $token, $item);
+ Assert::assertTrue($shareTreeItem->isVisible());
+ }
}
diff --git a/tests/acceptance/features/bootstrap/WebUISharingContext.php b/tests/acceptance/features/bootstrap/WebUISharingContext.php
index f3053ffd6a4f..0c41c8fc16ec 100644
--- a/tests/acceptance/features/bootstrap/WebUISharingContext.php
+++ b/tests/acceptance/features/bootstrap/WebUISharingContext.php
@@ -1601,4 +1601,48 @@ public function tearDownScenario() {
);
}
}
+
+ /**
+ * @Then the following resources should have share indicators on the webUI
+ *
+ * @param TableNode $resourceTable
+ *
+ * @return void
+ * @throws \Exception
+ */
+ public function theFollowingResourcesShouldHaveShareIndicatorOnTheWebUI(TableNode $resourceTable) {
+ $elementRows = $resourceTable->getRows();
+ $elements = $this->featureContext->simplifyArray($elementRows);
+ foreach ($elements as $filename) {
+ $isMarked = $this->filesPage->isSharedIndicatorPresent(
+ $filename, $this->getSession()
+ );
+ Assert::assertTrue(
+ $isMarked,
+ "Expected: " . $filename . " to be marked as shared but it's not"
+ );
+ }
+ }
+
+ /**
+ * @Then the following resources should not have share indicators on the webUI
+ *
+ * @param TableNode $resourceTable
+ *
+ * @return void
+ * @throws \Exception
+ */
+ public function theFollowingResourcesShouldNotHaveShareIndicatorOnTheWebUI(TableNode $resourceTable) {
+ $elementRows = $resourceTable->getRows();
+ $elements = $this->featureContext->simplifyArray($elementRows);
+ foreach ($elements as $filename) {
+ $isMarked = $this->filesPage->isSharedIndicatorPresent(
+ $filename, $this->getSession()
+ );
+ Assert::assertFalse(
+ $isMarked,
+ "Expected: " . $filename . " not to be marked as shared but it is"
+ );
+ }
+ }
}
diff --git a/tests/acceptance/features/lib/FilesPage.php b/tests/acceptance/features/lib/FilesPage.php
index 82415dcdd8cc..9e48c56172ff 100644
--- a/tests/acceptance/features/lib/FilesPage.php
+++ b/tests/acceptance/features/lib/FilesPage.php
@@ -399,4 +399,17 @@ public function browseToFolder($folderName) {
public function waitForUploadProgressbarToFinish() {
$this->filesPageCRUDFunctions->waitForUploadProgressbarToFinish();
}
+
+ /**
+ * checks whether given resource is marked as shared or not
+ *
+ * @param string $fileName
+ * @param Session $session
+ *
+ * @return bool
+ */
+ public function isSharedIndicatorPresent($fileName, $session) {
+ $fileRow = $this->findFileRowByName($fileName, $session);
+ return $fileRow->isSharedIndicatorPresent();
+ }
}
diff --git a/tests/acceptance/features/lib/FilesPageBasic.php b/tests/acceptance/features/lib/FilesPageBasic.php
index b599a68b85f2..8a9eb55ae402 100644
--- a/tests/acceptance/features/lib/FilesPageBasic.php
+++ b/tests/acceptance/features/lib/FilesPageBasic.php
@@ -533,7 +533,7 @@ public function waitTillPageIsLoaded(
);
$fileListIsVisible = false;
}
-
+
if ($fileListIsVisible
&& $fileList->has("xpath", "//a")
) {
@@ -638,7 +638,7 @@ public function enableShowHiddenFilesSettings() {
\usleep(STANDARD_SLEEP_TIME_MICROSEC);
$currentTime = \microtime(true);
}
-
+
$showHiddenFilesCheckBox = $this->find(
'xpath', $this->showHiddenFilesCheckboxXpath
);
diff --git a/tests/acceptance/features/lib/FilesPageElement/FileRow.php b/tests/acceptance/features/lib/FilesPageElement/FileRow.php
index be2e52a01aff..f2c22e1af422 100644
--- a/tests/acceptance/features/lib/FilesPageElement/FileRow.php
+++ b/tests/acceptance/features/lib/FilesPageElement/FileRow.php
@@ -62,6 +62,7 @@ class FileRow extends OwncloudPage {
protected $sharingDialogXpath = ".//div[@class='dialogContainer']";
protected $lockDialogId = "lockTabView";
protected $highlightsXpath = "//div[@class='highlights']";
+ protected $sharedIndicatorXpath = "//div[contains(@class, 'sharetree-item')]";
/**
*
@@ -405,7 +406,7 @@ public function openFileFolder(Session $session) {
$this->findFileLink()->click();
$this->waitForAjaxCallsToStartAndFinish($session);
}
-
+
/**
* restore the current deleted file and folder by clicking on the restore link
*
@@ -446,14 +447,14 @@ public function isMarkedAsFavorite() {
$checkFavorite = $this->rowElement->find(
"xpath", $this->markedFavoriteXpath
);
-
+
if ($checkFavorite === null) {
return false;
} else {
return true;
}
}
-
+
/**
* unmarks the current file or folder off favorite by clicking the star icon
*
@@ -585,4 +586,17 @@ public function isActionLabelAvailable($actionLabel, Session $session) {
$actionMenu = $this->openFileActionsMenu($session);
return $actionMenu->isActionLabelVisible($actionLabel);
}
+
+ /**
+ * @return bool
+ */
+ public function isSharedIndicatorPresent() {
+ if ($this->rowElement->find(
+ "xpath", $this->sharedIndicatorXpath
+ ) === null
+ ) {
+ return false;
+ }
+ return true;
+ }
}
diff --git a/tests/acceptance/features/lib/FilesPageElement/SharingDialog.php b/tests/acceptance/features/lib/FilesPageElement/SharingDialog.php
index a953704133b3..b2433bfd8b1b 100644
--- a/tests/acceptance/features/lib/FilesPageElement/SharingDialog.php
+++ b/tests/acceptance/features/lib/FilesPageElement/SharingDialog.php
@@ -68,6 +68,7 @@ class SharingDialog extends OwncloudPage {
private $unShareTabXpath = "//a[contains(@class,'unshare')]";
private $sharedWithGroupAndSharerName = null;
private $publicLinkRemoveDeclineMsg = "No";
+ private $shareTreeItemByNameAndPathXpath = "//li[@class='shareTree-item' and strong/text()='%s' and span/text()='via %s']";
/**
* @var string
@@ -763,6 +764,27 @@ public function sendShareNotificationByEmail($session) {
$this->waitForAjaxCallsToStartAndFinish($session);
}
+ /**
+ * @param string $type user|group|public link with name
+ * @param string $name user or group name
+ * @param string $path
+ *
+ * @return NodeElement
+ */
+ public function getShareTreeItem($type, $name, $path) {
+ if ($type === "group") {
+ $name = \sprintf($this->groupFramework, $name);
+ }
+ $fullXpath = \sprintf($this->shareTreeItemByNameAndPathXpath, $name, $path);
+ $item = $this->find("xpath", $fullXpath);
+ $this->assertElementNotNull(
+ $item,
+ __METHOD__ .
+ "\ncannot find item with name '$name' and path '$path'"
+ );
+ return $item;
+ }
+
/**
* waits for the dialog to appear
*
diff --git a/tests/acceptance/features/lib/SharedWithYouPage.php b/tests/acceptance/features/lib/SharedWithYouPage.php
index 8ba6560b013f..6dbd6e334f9f 100644
--- a/tests/acceptance/features/lib/SharedWithYouPage.php
+++ b/tests/acceptance/features/lib/SharedWithYouPage.php
@@ -28,7 +28,7 @@
* Shared with you page.
*/
class SharedWithYouPage extends FilesPageBasic {
-
+
/**
*
* @var string $path
@@ -38,28 +38,28 @@ class SharedWithYouPage extends FilesPageBasic {
protected $fileNameMatchXpath = "//span[contains(@class,'nametext') and not(contains(@class,'innernametext')) and .=%s]";
protected $fileListXpath = ".//div[@id='app-content-sharingin']//tbody[@id='fileList']";
protected $emptyContentXpath = ".//div[@id='app-content-sharingin']//div[@id='emptycontent']";
-
+
/**
* @return string
*/
protected function getFileListXpath() {
return $this->fileListXpath;
}
-
+
/**
* @return string
*/
protected function getFileNamesXpath() {
return $this->fileNamesXpath;
}
-
+
/**
* @return string
*/
protected function getFileNameMatchXpath() {
return $this->fileNameMatchXpath;
}
-
+
/**
* @return string
*/
@@ -95,7 +95,7 @@ public function declineFile(
) {
$this->initAjaxCounters($session);
$this->resetSumStartedAjaxRequests($session);
-
+
for ($counter = 0; $counter < $maxRetries; $counter++) {
$row = $this->findFileRowByName($name, $session);
try {
diff --git a/tests/acceptance/features/webUISharingExternal/federationSharing.feature b/tests/acceptance/features/webUISharingExternal/federationSharing.feature
index 5a1b5e936a95..f82883ac13da 100644
--- a/tests/acceptance/features/webUISharingExternal/federationSharing.feature
+++ b/tests/acceptance/features/webUISharingExternal/federationSharing.feature
@@ -372,3 +372,51 @@ Feature: Federation Sharing - sharing with users on other cloud storages
Then using server "REMOTE"
And as "user1" folder "simple-folder" should exist
And as "user1" folder "simple-folder (3)" should exist
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator inside folder shared using federated sharing
+ Given user "user1" has created folder "/simple-folder/sub-folder"
+ And user "user1" from server "LOCAL" has shared "/simple-folder" with user "user1" from server "REMOTE"
+ When the user opens folder "simple-folder" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | lorem.txt |
+ | sub-folder |
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator for file uploaded inside folder shared using federated sharing
+ Given user "user1" from server "LOCAL" has shared "/simple-folder" with user "user1" from server "REMOTE"
+ When the user opens folder "simple-folder" using the webUI
+ And the user uploads file "new-lorem.txt" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | new-lorem.txt |
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator for folder created inside folder shared using federated sharing
+ Given user "user1" from server "LOCAL" has shared "/simple-folder" with user "user1" from server "REMOTE"
+ When the user opens folder "simple-folder" using the webUI
+ And the user creates a folder with the name "sub-folder" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | sub-folder |
+
+ @skipOnOcV10.3
+ Scenario: sharing details inside folder shared using federated sharing
+ Given user "user1" has created folder "/simple-folder/sub-folder"
+ And user "user1" has uploaded file "filesForUpload/textfile.txt" to "/simple-folder/textfile.txt"
+ And user "user1" from server "LOCAL" has shared "/simple-folder" with user "user1" from server "REMOTE"
+ When the user opens folder "simple-folder" using the webUI
+ And the user opens the share dialog for folder "sub-folder"
+ Then federated user "user1@%remote_server% (Remote share)" should be listed as share receiver via "simple-folder" on the webUI
+ When the user opens the share dialog for file "textfile.txt"
+ Then federated user "user1@%remote_server% (Remote share)" should be listed as share receiver via "simple-folder" on the webUI
+
+ @skipOnOcV10.3
+ Scenario: sharing details of items inside a shared folder shared with local user and federated user
+ Given user "user2" has been created with default attributes and without skeleton files
+ And user "user1" has created folder "/simple-folder/sub-folder"
+ And user "user1" has uploaded file "filesForUpload/textfile.txt" to "/simple-folder/sub-folder/textfile.txt"
+ And user "user1" from server "LOCAL" has shared "/simple-folder" with user "user1" from server "REMOTE"
+ And user "user1" has shared folder "simple-folder/sub-folder" with user "user2"
+ When the user opens folder "simple-folder/sub-folder" using the webUI
+ And the user opens the share dialog for file "textfile.txt"
+ Then federated user "user1@%remote_server% (Remote share)" should be listed as share receiver via "simple-folder" on the webUI
+ And user "User Two" should be listed as share receiver via "sub-folder" on the webUI
diff --git a/tests/acceptance/features/webUISharingInternalGroups/shareWithGroups.feature b/tests/acceptance/features/webUISharingInternalGroups/shareWithGroups.feature
index 9a322cbae018..c83d7e4393b1 100644
--- a/tests/acceptance/features/webUISharingInternalGroups/shareWithGroups.feature
+++ b/tests/acceptance/features/webUISharingInternalGroups/shareWithGroups.feature
@@ -316,4 +316,82 @@ Feature: Sharing files and folders with internal groups
And the user opens the share dialog for file "lorem.txt"
Then the group "grp1" should not be in share with group list
+ @skipOnOcV10.3
+ Scenario: sharing indicator of items inside a shared folder
+ Given user "user1" has created folder "/simple-folder"
+ And user "user1" has created folder "/simple-folder/simple-empty-folder"
+ And user "user1" has uploaded file "filesForUpload/lorem.txt" to "/simple-folder/lorem.txt"
+ And user "user1" has shared folder "simple-folder" with group "grp1"
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | simple-empty-folder |
+ | lorem.txt |
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator of items inside a shared folder two levels down
+ Given user "user1" has created folder "/simple-folder"
+ And user "user1" has created folder "/simple-folder/simple-empty-folder/"
+ And user "user1" has created folder "/simple-folder/simple-empty-folder/new-folder"
+ And user "user1" has uploaded file "filesForUpload/lorem.txt" to "/simple-folder/simple-empty-folder/lorem.txt"
+ And user "user1" has shared folder "simple-folder" with group "grp1"
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ And the user opens folder "simple-empty-folder" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | new-folder |
+ | lorem.txt |
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator of items inside a re-shared folder
+ Given user "user1" has created folder "/simple-folder"
+ And user "user1" has created folder "/simple-folder/simple-empty-folder"
+ And user "user1" has uploaded file "filesForUpload/lorem.txt" to "/simple-folder/lorem.txt"
+ And user "user1" has shared folder "simple-folder" with user "user2"
+ And user "user2" has shared folder "simple-folder" with group "grp1"
+ And user "user2" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | simple-empty-folder |
+ | lorem.txt |
+ @skipOnOcV10.3
+ Scenario: no sharing indicator of items inside a not shared folder
+ Given user "user1" has created folder "/simple-folder"
+ And user "user1" has created folder "/simple-folder/simple-sub-folder"
+ And user "user1" has uploaded file "filesForUpload/lorem.txt" to "/simple-folder/lorem.txt"
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ Then the following resources should not have share indicators on the webUI
+ | simple-sub-folder |
+ | lorem.txt |
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator for file uploaded inside a shared folder
+ Given user "user3" has shared folder "/simple-empty-folder" with group "grp1"
+ And user "user3" has logged in using the webUI
+ When the user opens folder "simple-empty-folder" using the webUI
+ And the user uploads file "new-lorem.txt" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | new-lorem.txt |
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator for folder created inside a shared folder
+ Given user "user3" has shared folder "/simple-empty-folder" with group "grp1"
+ And user "user3" has logged in using the webUI
+ When the user opens folder "simple-empty-folder" using the webUI
+ And the user creates a folder with the name "sub-folder" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | sub-folder |
+
+ @skipOnOcV10.3
+ Scenario: sharing details of items inside a shared folder shared with user and group
+ Given user "user3" has created folder "/simple-folder/sub-folder"
+ And user "user3" has uploaded file "filesForUpload/lorem.txt" to "/simple-folder/sub-folder/lorem.txt"
+ And user "user3" has shared folder "simple-folder" with user "user2"
+ And user "user3" has shared folder "/simple-folder/sub-folder" with group "grp1"
+ And user "user3" has logged in using the webUI
+ When the user opens folder "simple-folder/sub-folder" using the webUI
+ And the user opens the sharing tab from the file action menu of file "lorem.txt" using the webUI
+ Then user "User Two" should be listed as share receiver via "simple-folder" on the webUI
+ And group "grp1" should be listed as share receiver via "sub-folder" on the webUI
diff --git a/tests/acceptance/features/webUISharingInternalUsers/shareWithUsers.feature b/tests/acceptance/features/webUISharingInternalUsers/shareWithUsers.feature
index 603ea2c917b2..ecce141274a2 100644
--- a/tests/acceptance/features/webUISharingInternalUsers/shareWithUsers.feature
+++ b/tests/acceptance/features/webUISharingInternalUsers/shareWithUsers.feature
@@ -677,3 +677,141 @@ Feature: Sharing files and folders with internal users
"""
just letting you know that user0 shared simple-folder with you.
"""
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator of items inside a shared folder
+ Given these users have been created with default attributes and skeleton files:
+ | username |
+ | user1 |
+ | user2 |
+ And user "user1" has shared folder "simple-folder" with user "user2"
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | simple-empty-folder |
+ | lorem.txt |
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator of items inside a shared folder two levels down
+ Given these users have been created with default attributes and skeleton files:
+ | username |
+ | user1 |
+ | user2 |
+ And user "user1" has created folder "/simple-folder/simple-empty-folder/new-folder"
+ And user "user1" has uploaded file "filesForUpload/lorem.txt" to "/simple-folder/simple-empty-folder/lorem.txt"
+ And user "user1" has shared folder "simple-folder" with user "user2"
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ And the user opens folder "simple-empty-folder" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | new-folder |
+ | lorem.txt |
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator of items inside a re-shared folder
+ Given these users have been created with default attributes and skeleton files:
+ | username |
+ | user1 |
+ And these users have been created without skeleton files:
+ | username |
+ | user2 |
+ | user3 |
+ And user "user1" has shared folder "simple-folder" with user "user2"
+ And user "user2" has shared folder "simple-folder" with user "user3"
+ And user "user2" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | simple-empty-folder |
+ | lorem.txt |
+
+ @skipOnOcV10.3
+ Scenario: no sharing indicator of items inside a not shared folder
+ Given these users have been created with default attributes and skeleton files:
+ | username |
+ | user1 |
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ Then the following resources should not have share indicators on the webUI
+ | simple-empty-folder |
+ | lorem.txt |
+
+ @skipOnOcV10.3
+ Scenario: sharing details of items inside a shared folder
+ Given these users have been created without skeleton files:
+ | username |
+ | user1 |
+ | user2 |
+ And user "user1" has created folder "/simple-folder"
+ And user "user1" has created folder "/simple-folder/simple-empty-folder"
+ And user "user1" has uploaded file "filesForUpload/lorem.txt" to "/simple-folder/lorem.txt"
+ And user "user1" has shared folder "simple-folder" with user "user2"
+ And user "user1" has logged in using the webUI
+ And the user has opened folder "simple-folder" using the webUI
+ When the user opens the sharing tab from the file action menu of folder "simple-empty-folder" using the webUI
+ Then user "user2" should be listed as share receiver via "simple-folder" on the webUI
+ When the user opens the sharing tab from the file action menu of file "lorem.txt" using the webUI
+ Then user "user2" should be listed as share receiver via "simple-folder" on the webUI
+
+ @skipOnOcV10.3
+ Scenario: sharing details of items inside a re-shared folder
+ Given these users have been created without skeleton files:
+ | username |
+ | user1 |
+ | user2 |
+ | user3 |
+ And user "user1" has created folder "/simple-folder"
+ And user "user1" has created folder "/simple-folder/simple-empty-folder"
+ And user "user1" has uploaded file "filesForUpload/lorem.txt" to "/simple-folder/lorem.txt"
+ And user "user1" has shared folder "simple-folder" with user "user2"
+ And user "user2" has shared folder "simple-folder" with user "user3"
+ And user "user2" has logged in using the webUI
+ And the user has opened folder "simple-folder" using the webUI
+ When the user opens the sharing tab from the file action menu of folder "simple-empty-folder" using the webUI
+ Then user "user3" should be listed as share receiver via "simple-folder" on the webUI
+ When the user opens the sharing tab from the file action menu of file "lorem.txt" using the webUI
+ Then user "user3" should be listed as share receiver via "simple-folder" on the webUI
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator for file uploaded inside a shared folder
+ Given these users have been created with default attributes and skeleton files:
+ | username |
+ | user1 |
+ | user2 |
+ And user "user1" has shared folder "/simple-empty-folder" with user "user2"
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-empty-folder" using the webUI
+ And the user uploads file "new-lorem.txt" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | new-lorem.txt |
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator for folder created inside a shared folder
+ Given these users have been created with default attributes and skeleton files:
+ | username |
+ | user1 |
+ | user2 |
+ And user "user1" has shared folder "/simple-empty-folder" with user "user2"
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-empty-folder" using the webUI
+ And the user creates a folder with the name "sub-folder" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | sub-folder |
+
+ @skipOnOcV10.3
+ Scenario: sharing details of items inside a shared folder shared with multiple users
+ Given these users have been created with default attributes and without skeleton files:
+ | username |
+ | user1 |
+ | user2 |
+ | user3 |
+ And user "user1" has created folder "/simple-folder"
+ And user "user1" has created folder "/simple-folder/sub-folder"
+ And user "user1" has uploaded file "filesForUpload/lorem.txt" to "/simple-folder/sub-folder/lorem.txt"
+ And user "user1" has shared folder "simple-folder" with user "user2"
+ And user "user1" has shared folder "/simple-folder/sub-folder" with user "user3"
+ And user "user1" has logged in using the webUI
+ And the user has opened folder "simple-folder/sub-folder" using the webUI
+ When the user opens the sharing tab from the file action menu of file "lorem.txt" using the webUI
+ Then user "User Two" should be listed as share receiver via "simple-folder" on the webUI
+ And user "User Three" should be listed as share receiver via "sub-folder" on the webUI
+
diff --git a/tests/acceptance/features/webUISharingPublic/shareByPublicLink.feature b/tests/acceptance/features/webUISharingPublic/shareByPublicLink.feature
index d233e6d6ca3d..0c2c497d0676 100644
--- a/tests/acceptance/features/webUISharingPublic/shareByPublicLink.feature
+++ b/tests/acceptance/features/webUISharingPublic/shareByPublicLink.feature
@@ -662,4 +662,87 @@ Feature: Share by public link
"""
user0 shared simple-folder with you
"""
- And the email address "foo@bar.co" should have received an email containing the last shared public link
\ No newline at end of file
+ And the email address "foo@bar.co" should have received an email containing the last shared public link
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator inside a shared folder
+ Given user "user1" has created folder "/simple-folder"
+ And user "user1" has created folder "/simple-folder/sub-folder"
+ And user "user1" has uploaded file "filesForUpload/textfile.txt" to "/simple-folder/textfile.txt"
+ And user "user1" has created a public link share with settings
+ | path | /simple-folder |
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | sub-folder |
+ | textfile.txt |
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator for file uploaded inside a shared folder
+ Given user "user1" has created folder "/simple-folder"
+ And user "user1" has created a public link share with settings
+ | path | /simple-folder |
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ And the user uploads file "new-lorem.txt" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | new-lorem.txt |
+
+ @skipOnOcV10.3
+ Scenario: sharing indicator for folder created inside a shared folder
+ Given user "user1" has created folder "/simple-folder"
+ And user "user1" has created a public link share with settings
+ | path | /simple-folder |
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ And the user creates a folder with the name "sub-folder" using the webUI
+ Then the following resources should have share indicators on the webUI
+ | sub-folder |
+
+ @skipOnOcV10.3
+ Scenario: sharing details of items inside a shared folder
+ Given user "user1" has created folder "/simple-folder"
+ And user "user1" has created folder "/simple-folder/sub-folder"
+ And user "user1" has uploaded file "filesForUpload/textfile.txt" to "/simple-folder/textfile.txt"
+ And user "user1" has created a public link share with settings
+ | path | /simple-folder |
+ | name | Public Link |
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ And the user opens the share dialog for folder "sub-folder"
+ And the user opens the public link share tab
+ Then public link "Public Link" should be listed as share receiver via "simple-folder" on the webUI
+
+ @skipOnOcV10.3
+ Scenario: sharing details of multiple public link shares with different link names
+ Given user "user1" has created folder "/simple-folder"
+ And user "user1" has created folder "/simple-folder/sub-folder"
+ And user "user1" has uploaded file "filesForUpload/textfile.txt" to "/simple-folder/sub-folder/textfile.txt"
+ And user "user1" has created a public link share with settings
+ | path | /simple-folder |
+ | name | Public Link |
+ And user "user1" has created a public link share with settings
+ | path | /simple-folder/sub-folder |
+ | name | strängé लिंक नाम (#2 &).नेपाली |
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ And the user opens the share dialog for folder "sub-folder"
+ And the user opens the public link share tab
+ Then public link "Public Link" should be listed as share receiver via "simple-folder" on the webUI
+ When the user opens folder "sub-folder" using the webUI
+ And the user opens the share dialog for file "textfile.txt"
+ And the user opens the public link share tab
+ Then public link "strängé लिंक नाम (#2 &).नेपाली" should be listed as share receiver via "sub-folder" on the webUI
+ And public link "Public Link" should be listed as share receiver via "simple-folder" on the webUI
+
+ @skipOnOcV10.3
+ Scenario: sharing detail of items in the webUI shared by public links with empty name
+ Given user "user1" has created folder "/simple-folder"
+ And user "user1" has uploaded file "filesForUpload/textfile.txt" to "/simple-folder/textfile.txt"
+ And user "user1" has created a public link share with settings
+ | path | /simple-folder |
+ And user "user1" has logged in using the webUI
+ When the user opens folder "simple-folder" using the webUI
+ And the user opens the share dialog for file "textfile.txt"
+ And the user opens the public link share tab
+ Then public link with last share token should be listed as share receiver via "simple-folder" on the webUI