summaryrefslogtreecommitdiffstats
path: root/core/js/tests
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2015-04-24 16:14:08 +0200
committerRoeland Jago Douma <roeland@famdouma.nl>2015-05-18 10:08:09 +0200
commitb090a32d233631305f050b7235eb4bedc91417ad (patch)
treeda9393920b9d11bbd26ca020b78e1d9fa840544b /core/js/tests
parent73a3086945b41afa39debd89481c021934dedb67 (diff)
downloadnextcloud-server-b090a32d233631305f050b7235eb4bedc91417ad.tar.gz
nextcloud-server-b090a32d233631305f050b7235eb4bedc91417ad.zip
Reset share dialog values so we start out clean
* Unit test
Diffstat (limited to 'core/js/tests')
-rw-r--r--core/js/tests/specs/shareSpec.js106
1 files changed, 106 insertions, 0 deletions
diff --git a/core/js/tests/specs/shareSpec.js b/core/js/tests/specs/shareSpec.js
index 3e9a0b247d7..5ae2b55b326 100644
--- a/core/js/tests/specs/shareSpec.js
+++ b/core/js/tests/specs/shareSpec.js
@@ -228,6 +228,112 @@ describe('OC.Share tests', function() {
oc_appconfig.core.enforcePasswordForPublicLink = old;
});
+ it('reset password on toggle of share', function() {
+ $('#allowShareWithLink').val('yes');
+ OC.Share.showDropDown(
+ 'file',
+ 123,
+ $container,
+ true,
+ 31,
+ 'shared_file_name.txt'
+ );
+ $('#dropdown [name=linkCheckbox]').click();
+ fakeServer.requests[0].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({data: {token: 'xyz'}, status: 'success'})
+ );
+
+ //Password protection should be unchecked and password field not visible
+ expect($('#dropdown [name=showPassword]').prop('checked')).toEqual(false);
+ expect($('#dropdown #linkPass').is(":visible")).toEqual(false);
+
+ // Toggle and set password
+ $('#dropdown [name=showPassword]').click();
+ $('#dropdown #linkPassText').val('foo');
+ $('#dropdown #linkPassText').trigger(new $.Event('keyup', {keyCode: 13}));
+ fakeServer.requests[1].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({data: {token: 'xyz2'}, status: 'success'})
+ );
+
+ // Unshare
+ $('#dropdown [name=linkCheckbox]').click();
+ fakeServer.requests[2].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({status: 'success'})
+ );
+
+ // Toggle share again
+ $('#dropdown [name=linkCheckbox]').click();
+ fakeServer.requests[3].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({data: {token: 'xyz3'}, status: 'success'})
+ );
+
+
+ // Password checkbox should be unchecked
+ expect($('#dropdown [name=showPassword]').prop('checked')).toEqual(false);
+ expect($('#dropdown #linkPass').is(":visible")).toEqual(false);
+ });
+ it('reset expiration on toggle of share', function() {
+ $('#allowShareWithLink').val('yes');
+ OC.Share.showDropDown(
+ 'file',
+ 123,
+ $container,
+ true,
+ 31,
+ 'shared_file_name.txt'
+ );
+ $('#dropdown [name=linkCheckbox]').click();
+ fakeServer.requests[0].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({data: {token: 'xyz'}, status: 'success'})
+ );
+
+ //Expiration should be unchecked and expiration field not visible
+ expect($('#dropdown [name=expirationCheckbox]').prop('checked')).toEqual(false);
+ expect($('#dropdown #expirationDate').is(":visible")).toEqual(false);
+
+ // Toggle and set password
+ $('#dropdown [name=expirationCheckbox]').click();
+ d = new Date();
+ d.setDate(d.getDate() + 1);
+ date=d.getDate() + '-' + (d.getMonth()+1) + '-' + d.getFullYear();
+ $('#dropdown #expirationDate').val(date);
+ $('#dropdown #expirationDate').change();
+ fakeServer.requests[1].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({data: {token: 'xyz2'}, status: 'success'})
+ );
+
+ // Unshare
+ $('#dropdown [name=linkCheckbox]').click();
+ fakeServer.requests[2].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({status: 'success'})
+ );
+
+ // Toggle share again
+ $('#dropdown [name=linkCheckbox]').click();
+ fakeServer.requests[3].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({data: {token: 'xyz3'}, status: 'success'})
+ );
+
+ // Recheck expire visibility
+ expect($('#dropdown [name=expirationCheckbox]').prop('checked')).toEqual(false);
+ expect($('#dropdown #expirationDate').is(":visible")).toEqual(false);
+ });
it('shows populated link share when a link share exists', function() {
loadItemStub.returns({
reshare: [],