summaryrefslogtreecommitdiffstats
path: root/core/js
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2015-04-16 15:54:27 +0200
committerRoeland Jago Douma <roeland@famdouma.nl>2015-04-17 09:38:09 +0200
commitb9710296520940609bb70a4a29df0cc52fa22940 (patch)
treea360fc9edbddc515f5cbbfe78a2471341f40e3fb /core/js
parent595adfd193734bd24adfd26c235b5a2c1bb03099 (diff)
downloadnextcloud-server-b9710296520940609bb70a4a29df0cc52fa22940.tar.gz
nextcloud-server-b9710296520940609bb70a4a29df0cc52fa22940.zip
Added unit tests
Diffstat (limited to 'core/js')
-rw-r--r--core/js/tests/specs/shareSpec.js94
1 files changed, 94 insertions, 0 deletions
diff --git a/core/js/tests/specs/shareSpec.js b/core/js/tests/specs/shareSpec.js
index 4a2da645029..a16358b55c5 100644
--- a/core/js/tests/specs/shareSpec.js
+++ b/core/js/tests/specs/shareSpec.js
@@ -129,6 +129,100 @@ describe('OC.Share tests', function() {
);
expect($('#dropdown #linkCheckbox').length).toEqual(0);
});
+ it('Reset link when password is enforced and link is toggled', function() {
+ var old = oc_appconfig.core.enforcePasswordForPublicLink;
+ oc_appconfig.core.enforcePasswordForPublicLink = true;
+ $('#allowShareWithLink').val('yes');
+
+ OC.Share.showDropDown(
+ 'file',
+ 123,
+ $container,
+ true,
+ 31,
+ 'shared_file_name.txt'
+ );
+
+ // Toggle linkshare
+ $('#dropdown [name=linkCheckbox]').click();
+ expect($('#dropdown #linkText').val()).toEqual('');
+
+ // Set password
+ $('#dropdown #linkPassText').val('foo');
+ $('#dropdown #linkPassText').trigger(new $.Event('keyup', {keyCode: 13}));
+ fakeServer.requests[0].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({data: {token: 'xyz'}, status: 'success'})
+ );
+
+ // Remove link
+ $('#dropdown [name=linkCheckbox]').click();
+ fakeServer.requests[1].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({status: 'success'})
+ );
+
+ /*
+ * Try to share again
+ * The linkText should be emptied
+ */
+ $('#dropdown [name=linkCheckbox]').click();
+ expect($('#dropdown #linkText').val()).toEqual('');
+
+ /*
+ * Do not set password but untoggle
+ * Since there is no share this should not result in another request to the server
+ */
+ $('#dropdown [name=linkCheckbox]').click();
+ expect(fakeServer.requests.length).toEqual(2);
+
+ oc_appconfig.core.enforcePasswordForPublicLink = old;
+ });
+
+ it('Reset password placeholder when password is enforced and link is toggled', function() {
+ var old = oc_appconfig.core.enforcePasswordForPublicLink;
+ oc_appconfig.core.enforcePasswordForPublicLink = true;
+ $('#allowShareWithLink').val('yes');
+
+ OC.Share.showDropDown(
+ 'file',
+ 123,
+ $container,
+ true,
+ 31,
+ 'shared_file_name.txt'
+ );
+
+ // Toggle linkshare
+ $('#dropdown [name=linkCheckbox]').click();
+ expect($('#dropdown #linkPassText').attr('placeholder')).toEqual('Choose a password for the public link');
+
+ // Set password
+ $('#dropdown #linkPassText').val('foo');
+ $('#dropdown #linkPassText').trigger(new $.Event('keyup', {keyCode: 13}));
+ fakeServer.requests[0].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({data: {token: 'xyz'}, status: 'success'})
+ );
+ expect($('#dropdown #linkPassText').attr('placeholder')).toEqual('**********');
+
+ // Remove link
+ $('#dropdown [name=linkCheckbox]').click();
+ fakeServer.requests[1].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({status: 'success'})
+ );
+
+ // Try to share again
+ $('#dropdown [name=linkCheckbox]').click();
+ expect($('#dropdown #linkPassText').attr('placeholder')).toEqual('Choose a password for the public link');
+
+ oc_appconfig.core.enforcePasswordForPublicLink = old;
+ });
it('shows populated link share when a link share exists', function() {
loadItemStub.returns({
reshare: [],