[Pkg-owncloud-commits] [owncloud] 105/273: Unit tests for share dropdown with nested link share

David Prévot taffit at moszumanska.debian.org
Fri Jul 4 03:13:04 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository owncloud.

commit d9d816bd9815527a9cff922fa58e06646b0e3115
Author: Vincent Petry <pvince81 at owncloud.com>
Date:   Fri Jun 27 18:21:02 2014 +0200

    Unit tests for share dropdown with nested link share
---
 core/js/share.js                 |   2 +
 core/js/tests/specs/shareSpec.js | 146 ++++++++++++++++++++++++++++++++++++++-
 2 files changed, 147 insertions(+), 1 deletion(-)

diff --git a/core/js/share.js b/core/js/share.js
index a6f2992..aab41cf 100644
--- a/core/js/share.js
+++ b/core/js/share.js
@@ -620,6 +620,7 @@ OC.Share={
 				var file = $('#dir').val() + '/' + filename;
 			}
 			file = '/'+OC.currentUser+'/files'+file;
+			// TODO: use oc webroot ?
 			var link = parent.location.protocol+'//'+location.host+OC.linkTo('', 'public.php')+'?service=files&'+type+'='+encodeURIComponent(file);
 		} else {
 			//TODO add path param when showing a link to file in a subfolder of a public link share
@@ -630,6 +631,7 @@ OC.Share={
 				service=linkSharetype;
 			}
 
+			// TODO: use oc webroot ?
 			var link = parent.location.protocol+'//'+location.host+OC.linkTo('', 'public.php')+'?service='+service+'&t='+token;
 
 		}
diff --git a/core/js/tests/specs/shareSpec.js b/core/js/tests/specs/shareSpec.js
index 458bc41..588e510 100644
--- a/core/js/tests/specs/shareSpec.js
+++ b/core/js/tests/specs/shareSpec.js
@@ -96,7 +96,6 @@ describe('OC.Share tests', function() {
 		describe('Share with link', function() {
 			// TODO: test ajax calls
 			// TODO: test password field visibility (whenever enforced or not)
-			// TODO: check public upload visibility based on config
 			it('shows share with link checkbox when allowed', function() {
 				$('#allowShareWithLink').val('yes');
 				OC.Share.showDropDown(
@@ -121,6 +120,151 @@ describe('OC.Share tests', function() {
 				);
 				expect($('#dropdown #linkCheckbox').length).toEqual(0);
 			});
+			it('shows populated link share when a link share exists', function() {
+				loadItemStub.returns({
+					reshare: [],
+					/* jshint camelcase: false */
+					shares: [{
+						displayname_owner: 'root',
+						expiration: null,
+						file_source: 123,
+						file_target: '/folder',
+						id: 20,
+						item_source: '123',
+						item_type: 'folder',
+						mail_send: '0',
+						parent: null,
+						path: '/folder',
+						permissions: OC.PERMISSION_READ,
+						share_type: OC.Share.SHARE_TYPE_LINK,
+						share_with: null,
+						stime: 1403884258,
+						storage: 1,
+						token: 'tehtoken',
+						uid_owner: 'root'
+					}]
+				});
+				OC.Share.showDropDown(
+					'file',
+					123,
+					$container,
+					'http://localhost/dummylink',
+					31,
+					'folder'
+				);
+				expect($('#dropdown #linkCheckbox').prop('checked')).toEqual(true);
+				// this is how the OC.Share class does it...
+				var link = parent.location.protocol + '//' + location.host +
+					OC.linkTo('', 'public.php')+'?service=files&t=tehtoken';
+				expect($('#dropdown #linkText').val()).toEqual(link);
+			});
+			it('does not show populated link share when a link share exists for a different file', function() {
+				loadItemStub.returns({
+					reshare: [],
+					/* jshint camelcase: false */
+					shares: [{
+						displayname_owner: 'root',
+						expiration: null,
+						file_source: 123,
+						file_target: '/folder',
+						id: 20,
+						item_source: '123',
+						item_type: 'folder',
+						mail_send: '0',
+						parent: null,
+						path: '/folder',
+						permissions: OC.PERMISSION_READ,
+						share_type: OC.Share.SHARE_TYPE_LINK,
+						share_with: null,
+						stime: 1403884258,
+						storage: 1,
+						token: 'tehtoken',
+						uid_owner: 'root'
+					}]
+				});
+				OC.Share.showDropDown(
+					'file',
+					456, // another file
+					$container,
+					'http://localhost/dummylink',
+					31,
+					'folder'
+				);
+				expect($('#dropdown #linkCheckbox').prop('checked')).toEqual(false);
+			});
+			it('shows correct link share when a nest link share exists along with parent one', function() {
+				loadItemStub.returns({
+					reshare: [],
+					/* jshint camelcase: false */
+					shares: [{
+						displayname_owner: 'root',
+						expiration: null,
+						file_source: 123,
+						file_target: '/folder',
+						id: 20,
+						item_source: '123',
+						item_type: 'file',
+						mail_send: '0',
+						parent: null,
+						path: '/folder',
+						permissions: OC.PERMISSION_READ,
+						share_type: OC.Share.SHARE_TYPE_LINK,
+						share_with: null,
+						stime: 1403884258,
+						storage: 1,
+						token: 'tehtoken',
+						uid_owner: 'root'
+					}, {
+						displayname_owner: 'root',
+						expiration: null,
+						file_source: 456,
+						file_target: '/file_in_folder.txt',
+						id: 21,
+						item_source: '456',
+						item_type: 'file',
+						mail_send: '0',
+						parent: null,
+						path: '/folder/file_in_folder.txt',
+						permissions: OC.PERMISSION_READ,
+						share_type: OC.Share.SHARE_TYPE_LINK,
+						share_with: null,
+						stime: 1403884509,
+						storage: 1,
+						token: 'anothertoken',
+						uid_owner: 'root'
+					}]
+				});
+
+				// parent one
+				OC.Share.showDropDown(
+					'folder',
+					123,
+					$container,
+					'http://localhost/dummylink',
+					31,
+					'folder'
+				);
+				expect($('#dropdown #linkCheckbox').prop('checked')).toEqual(true);
+				// this is how the OC.Share class does it...
+				var link = parent.location.protocol + '//' + location.host +
+					OC.linkTo('', 'public.php')+'?service=files&t=tehtoken';
+				expect($('#dropdown #linkText').val()).toEqual(link);
+
+				// nested one
+				OC.Share.showDropDown(
+					'file',
+					456,
+					$container,
+					'http://localhost/dummylink',
+					31,
+					'file_in_folder.txt'
+				);
+				expect($('#dropdown #linkCheckbox').prop('checked')).toEqual(true);
+				// this is how the OC.Share class does it...
+				link = parent.location.protocol + '//' + location.host +
+					OC.linkTo('', 'public.php')+'?service=files&t=anothertoken';
+				expect($('#dropdown #linkText').val()).toEqual(link);
+			});
 		});
 		describe('"sharesChanged" event', function() {
 			var autocompleteOptions;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list