summaryrefslogtreecommitdiffstats
path: root/core/js/tests/specs/shareSpec.js
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2019-10-30 17:26:53 +0100
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2019-11-06 00:53:59 +0100
commit5d2c89ca6c1e99d38fd12d5fddaa7370d863750c (patch)
treefb11bcbb09a09bd86ee18f860d195c794081d16e /core/js/tests/specs/shareSpec.js
parenteebcf890917ca17f9e3bd00a792b89f841c824da (diff)
downloadnextcloud-server-5d2c89ca6c1e99d38fd12d5fddaa7370d863750c.tar.gz
nextcloud-server-5d2c89ca6c1e99d38fd12d5fddaa7370d863750c.zip
Fix sharing breadcrumbs
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'core/js/tests/specs/shareSpec.js')
-rw-r--r--core/js/tests/specs/shareSpec.js371
1 files changed, 0 insertions, 371 deletions
diff --git a/core/js/tests/specs/shareSpec.js b/core/js/tests/specs/shareSpec.js
deleted file mode 100644
index acae9c13e56..00000000000
--- a/core/js/tests/specs/shareSpec.js
+++ /dev/null
@@ -1,371 +0,0 @@
-/**
-* ownCloud
-*
-* @author Vincent Petry
-* @copyright 2014 Vincent Petry <pvince81@owncloud.com>
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
-
-describe('OC.Share tests', function() {
- describe('markFileAsShared', function() {
- var $file;
- var tooltipStub;
-
- beforeEach(function() {
- tooltipStub = sinon.stub($.fn, 'tooltip');
- $file = $('<tr><td class="filename"><div class="thumbnail"></div><span class="name">File name</span></td></tr>');
- $file.find('.filename').append(
- '<span class="fileactions">' +
- '<a href="#" class="action action-share" data-action="Share">' +
- '<img></img><span> Share</span>' +
- '</a>' +
- '</span>'
- );
- });
- afterEach(function() {
- $file = null;
- tooltipStub.restore();
- });
- describe('displaying the share owner', function() {
- function checkOwner(input, output, title) {
- var $action;
-
- $file.attr('data-share-owner', input);
- $file.attr('data-share-owner-id', input);
- OC.Share.markFileAsShared($file);
-
- $action = $file.find('.action-share>span').parent();
- expect($action.text().trim()).toEqual(output);
- if (_.isString(title)) {
- expect($action.find('.remoteAddress').attr('title')).toEqual(title);
- } else {
- expect($action.find('.remoteAddress').attr('title')).not.toBeDefined();
- }
- expect(tooltipStub.calledOnce).toEqual(true);
- tooltipStub.reset();
- }
-
- it('displays the local share owner with "Shared by" prefix', function() {
- checkOwner('User One', 'Shared by User One', null);
- });
- it('displays the user name part of a remote share owner', function() {
- checkOwner(
- 'User One@someserver.com',
- 'User One@…',
- 'Shared by User One@someserver.com'
- );
- checkOwner(
- 'User One@someserver.com/',
- 'User One@…',
- 'Shared by User One@someserver.com'
- );
- checkOwner(
- 'User One@someserver.com/root/of/owncloud',
- 'User One@…',
- 'Shared by User One@someserver.com'
- );
- });
- it('displays the user name part with domain of a remote share owner', function() {
- checkOwner(
- 'User One@example.com@someserver.com',
- 'User One@example.com',
- 'Shared by User One@example.com@someserver.com'
- );
- checkOwner(
- 'User One@example.com@someserver.com/',
- 'User One@example.com',
- 'Shared by User One@example.com@someserver.com'
- );
- checkOwner(
- 'User One@example.com@someserver.com/root/of/owncloud',
- 'User One@example.com',
- 'Shared by User One@example.com@someserver.com'
- );
- });
- });
-
- describe('displaying the folder icon', function() {
- function checkIcon(expectedImage) {
- var imageUrl = OC.TestUtil.getImageUrl($file.find('.filename .thumbnail'));
- expectedIcon = OC.imagePath('core', expectedImage);
- expect(imageUrl).toEqual(expectedIcon);
- }
-
- it('shows a plain folder icon for non-shared folders', function() {
- $file.attr('data-type', 'dir');
- OC.Share.markFileAsShared($file);
-
- checkIcon('filetypes/folder');
- });
- it('shows a shared folder icon for folders shared with another user', function() {
- $file.attr('data-type', 'dir');
- OC.Share.markFileAsShared($file, true);
-
- checkIcon('filetypes/folder-shared');
- });
- it('shows a shared folder icon for folders shared with the current user', function() {
- $file.attr('data-type', 'dir');
- $file.attr('data-share-owner', 'someoneelse');
- $file.attr('data-share-owner-id', 'someoneelse');
- OC.Share.markFileAsShared($file);
-
- checkIcon('filetypes/folder-shared');
- });
- it('shows a link folder icon for folders shared with link', function() {
- $file.attr('data-type', 'dir');
- OC.Share.markFileAsShared($file, false, true);
-
- checkIcon('filetypes/folder-public');
- });
- it('shows a link folder icon for folders shared with both link and another user', function() {
- $file.attr('data-type', 'dir');
- OC.Share.markFileAsShared($file, true, true);
-
- checkIcon('filetypes/folder-public');
- });
- it('shows a link folder icon for folders reshared with link', function() {
- $file.attr('data-type', 'dir');
- $file.attr('data-share-owner', 'someoneelse');
- OC.Share.markFileAsShared($file, false, true);
-
- checkIcon('filetypes/folder-public');
- });
- it('shows external storage icon if external mount point', function() {
- $file.attr('data-type', 'dir');
- $file.attr('data-mountType', 'external');
- OC.Share.markFileAsShared($file, false, false);
-
- checkIcon('filetypes/folder-external');
- });
- it('shows encrypted icon if encrypted folder', function() {
- $file.attr('data-type', 'dir');
- $file.attr('data-e2eencrypted', true);
- OC.Share.markFileAsShared($file, false, false);
-
- checkIcon('filetypes/folder-encrypted');
- });
- });
-
- describe('displaying the recipients', function() {
- function checkRecipients(input, output, title) {
- var $action;
-
- $file.attr('data-share-recipient-data', JSON.stringify(input));
- OC.Share.markFileAsShared($file, true);
-
- $action = $file.find('.action-share>span').parent();
- expect($action.text().trim()).toEqual(output);
- if (_.isString(title)) {
- expect($action.find('.remoteAddress').attr('title')).toEqual(title);
- } else if (_.isArray(title)) {
- var tooltips = $action.find('.remoteAddress');
- expect(tooltips.length).toEqual(title.length);
-
- tooltips.each(function(i) {
- expect($(this).attr('title')).toEqual(title[i]);
- });
- } else {
- expect($action.find('.remoteAddress').attr('title')).not.toBeDefined();
- }
- expect(tooltipStub.calledOnce).toEqual(true);
- tooltipStub.reset();
- }
-
- it('displays the local share owner as is', function() {
- var input = {
- 0: {
- shareWith: 'User One',
- shareWithDisplayName: 'User One'
- }
- };
- checkRecipients(input, 'Shared with User One', null);
- });
- it('displays the user name part of a remote recipient', function() {
- var input = {
- 0: {
- shareWith: 'User One@someserver.com',
- shareWithDisplayName: 'User One@someserver.com'
- }
- };
- checkRecipients(
- input,
- 'User One@…',
- 'Shared with User One@someserver.com'
- );
-
- input = {
- 0: {
- shareWith: 'User One@someserver.com/',
- shareWithDisplayName: 'User One@someserver.com/'
- }
- };
- checkRecipients(
- input,
- 'User One@…',
- 'Shared with User One@someserver.com'
- );
-
- input = {
- 0: {
- shareWith: 'User One@someserver.com/root/of/nextcloud',
- shareWithDisplayName: 'User One@someserver.com/root/of/nextcloud'
- }
- };
- checkRecipients(
- input,
- 'User One@…',
- 'Shared with User One@someserver.com'
- );
- });
- it('displays the user name part with domain of a remote share owner', function() {
- var input = {
- 0: {
- shareWith: 'User One@example.com@someserver.com',
- shareWithDisplayName: 'User One@example.com@someserver.com'
- }
- };
- checkRecipients(
- input,
- 'User One@example.com',
- 'Shared with User One@example.com@someserver.com'
- );
-
- input = {
- 0: {
- shareWith: 'User One@example.com@someserver.com/',
- shareWithDisplayName: 'User One@example.com@someserver.com/'
- }
- };
- checkRecipients(
- input,
- 'User One@example.com',
- 'Shared with User One@example.com@someserver.com'
- );
-
- input = {
- 0: {
- shareWith: 'User One@example.com@someserver.com/root/of/nextcloud',
- shareWithDisplayName: 'User One@example.com@someserver.com/root/of/nextcloud'
- }
- };
- checkRecipients(
- input,
- 'User One@example.com',
- 'Shared with User One@example.com@someserver.com'
- );
- });
- it('display multiple remote recipients', function() {
- var input = {
- 0: {
- shareWith: 'One@someserver.com',
- shareWithDisplayName: 'One@someserver.com'
- },
- 1: {
- shareWith: 'two@otherserver.com',
- shareWithDisplayName: 'two@otherserver.com'
- }
- };
- checkRecipients(
- input,
- 'One@… two@…',
- ['Shared with One@someserver.com', 'Shared with two@otherserver.com']
- );
-
- input = {
- 0: {
- shareWith: 'One@someserver.com/',
- shareWithDisplayName: 'One@someserver.com/'
- },
- 1: {
- shareWith: 'two@someserver.com',
- shareWithDisplayName: 'two@someserver.com'
- }
- };
- checkRecipients(
- input,
- 'One@… two@…',
- ['Shared with One@someserver.com', 'Shared with two@otherserver.com']
- );
-
- input = {
- 0: {
- shareWith: 'One@someserver.com/root/of/nextcloud',
- shareWithDisplayName: 'One@someserver.com/root/of/nextcloud'
- },
- 1: {
- shareWith: 'two@someserver.com',
- shareWithDisplayName: 'two@someserver.com'
- }
- };
- checkRecipients(
- input,
- 'One@… two@…',
- ['Shared with One@someserver.com', 'Shared with two@otherserver.com']
- );
- });
- it('display mixed recipients', function() {
- checkRecipients(
- {
- 0: {
- shareWith: 'One',
- shareWithDisplayName: 'One'
- },
- 1: {
- shareWith: 'two@otherserver.com',
- shareWithDisplayName: 'two@otherserver.com'
- }
- },
- 'Shared with One two@…',
- ['Shared with two@otherserver.com']
- );
- });
- it('display multiple with divergent displaynames', function() {
- var recipients = {
- 0: {
- shareWith: 'One',
- shareWithDisplayName: 'Yoko Ono',
- _output: 'Shared with Yoko Ono'
- },
- 1: {
- shareWith: 'two@otherserver.com',
- shareWithDisplayName: 'two@othererver.com',
- _output: 'two@…'
- },
- 2: {
- shareWith: 'Three',
- shareWithDisplayName: 'Green, Mina',
- _output: 'Shared with Green, Mina'
- }
- };
-
- // we cannot assume the locale, also because PhantomJS has a bug.
- var sortArray = _.toArray(recipients)
- .sort(function(a, b) {
- return a.shareWithDisplayName.localeCompare(b.shareWithDisplayName);
- });
- var sortedOutput = _.map(sortArray, function(recipient) {
- return recipient._output;
- }).join(' ');
-
- checkRecipients(
- recipients,
- sortedOutput,
- ['Shared with two@otherserver.com']
- );
- });
- });
- });
-});