|
@@ -214,188 +214,6 @@ describe('OC.Share.ShareDialogView', function() {
|
|
|
focusStub.restore();
|
|
|
selectStub.restore();
|
|
|
});
|
|
|
- describe('password', function() {
|
|
|
- var slideToggleStub;
|
|
|
-
|
|
|
- beforeEach(function() {
|
|
|
- $('#allowShareWithLink').val('yes');
|
|
|
- configModel.set({
|
|
|
- enforcePasswordForPublicLink: false
|
|
|
- });
|
|
|
-
|
|
|
- slideToggleStub = sinon.stub($.fn, 'slideToggle');
|
|
|
- });
|
|
|
- afterEach(function() {
|
|
|
- slideToggleStub.restore();
|
|
|
- });
|
|
|
-
|
|
|
- it('enforced but toggled does not fire request', function() {
|
|
|
- configModel.set('enforcePasswordForPublicLink', true);
|
|
|
- dialog.render();
|
|
|
-
|
|
|
- dialog.$el.find('.linkCheckbox').click();
|
|
|
-
|
|
|
- // The password linkPass field is shown (slideToggle is called).
|
|
|
- // No request is made yet
|
|
|
- expect(slideToggleStub.callCount).toEqual(1);
|
|
|
- expect(slideToggleStub.getCall(0).thisValue.eq(0).attr('id')).toEqual('linkPass');
|
|
|
- expect(fakeServer.requests.length).toEqual(0);
|
|
|
-
|
|
|
- // Now untoggle share by link
|
|
|
- dialog.$el.find('.linkCheckbox').click();
|
|
|
- dialog.render();
|
|
|
-
|
|
|
- // Password field disappears and no ajax requests have been made
|
|
|
- expect(fakeServer.requests.length).toEqual(0);
|
|
|
- expect(slideToggleStub.callCount).toEqual(2);
|
|
|
- expect(slideToggleStub.getCall(1).thisValue.eq(0).attr('id')).toEqual('linkPass');
|
|
|
- });
|
|
|
- });
|
|
|
- describe('expiration date', function() {
|
|
|
- var shareData;
|
|
|
- var shareItem;
|
|
|
- var clock;
|
|
|
- var expectedMinDate;
|
|
|
-
|
|
|
- beforeEach(function() {
|
|
|
- // pick a fake date
|
|
|
- clock = sinon.useFakeTimers(new Date(2014, 0, 20, 14, 0, 0).getTime());
|
|
|
- expectedMinDate = new Date(2014, 0, 21, 14, 0, 0);
|
|
|
-
|
|
|
- configModel.set({
|
|
|
- enforcePasswordForPublicLink: false,
|
|
|
- isDefaultExpireDateEnabled: false,
|
|
|
- isDefaultExpireDateEnforced: false,
|
|
|
- defaultExpireDate: 7
|
|
|
- });
|
|
|
-
|
|
|
- shareModel.set('linkShare', {
|
|
|
- isLinkShare: true,
|
|
|
- token: 'tehtoken',
|
|
|
- permissions: OC.PERMISSION_READ,
|
|
|
- expiration: null
|
|
|
- });
|
|
|
- });
|
|
|
- afterEach(function() {
|
|
|
- clock.restore();
|
|
|
- });
|
|
|
-
|
|
|
- it('does not check expiration date checkbox when no date was set', function() {
|
|
|
- shareModel.get('linkShare').expiration = null;
|
|
|
- dialog.render();
|
|
|
-
|
|
|
- expect(dialog.$el.find('[name=expirationCheckbox]').prop('checked')).toEqual(false);
|
|
|
- expect(dialog.$el.find('.datepicker').val()).toEqual('');
|
|
|
- });
|
|
|
- it('does not check expiration date checkbox for new share', function() {
|
|
|
- dialog.render();
|
|
|
-
|
|
|
- expect(dialog.$el.find('[name=expirationCheckbox]').prop('checked')).toEqual(false);
|
|
|
- expect(dialog.$el.find('.datepicker').val()).toEqual('');
|
|
|
- });
|
|
|
- it('checks expiration date checkbox and populates field when expiration date was set', function() {
|
|
|
- shareModel.get('linkShare').expiration = '2014-02-01 00:00:00';
|
|
|
- dialog.render();
|
|
|
- expect(dialog.$el.find('[name=expirationCheckbox]').prop('checked')).toEqual(true);
|
|
|
- expect(dialog.$el.find('.datepicker').val()).toEqual('01-02-2014');
|
|
|
- });
|
|
|
- it('sets default date when default date setting is enabled', function() {
|
|
|
- configModel.set('isDefaultExpireDateEnabled', true);
|
|
|
- dialog.render();
|
|
|
- dialog.$el.find('.linkCheckbox').click();
|
|
|
- // here fetch would be called and the server returns the expiration date
|
|
|
- shareModel.get('linkShare').expiration = '2014-1-27 00:00:00';
|
|
|
- dialog.render();
|
|
|
-
|
|
|
- // enabled by default
|
|
|
- expect(dialog.$el.find('[name=expirationCheckbox]').prop('checked')).toEqual(true);
|
|
|
- expect(dialog.$el.find('.datepicker').val()).toEqual('27-01-2014');
|
|
|
-
|
|
|
- // disabling is allowed
|
|
|
- dialog.$el.find('[name=expirationCheckbox]').click();
|
|
|
- expect(dialog.$el.find('[name=expirationCheckbox]').prop('checked')).toEqual(false);
|
|
|
- });
|
|
|
- it('enforces default date when enforced date setting is enabled', function() {
|
|
|
- configModel.set({
|
|
|
- isDefaultExpireDateEnabled: true,
|
|
|
- isDefaultExpireDateEnforced: true
|
|
|
- });
|
|
|
- dialog.render();
|
|
|
- dialog.$el.find('.linkCheckbox').click();
|
|
|
- // here fetch would be called and the server returns the expiration date
|
|
|
- shareModel.get('linkShare').expiration = '2014-1-27 00:00:00';
|
|
|
- dialog.render();
|
|
|
-
|
|
|
- expect(dialog.$el.find('[name=expirationCheckbox]').prop('checked')).toEqual(true);
|
|
|
- expect(dialog.$el.find('.datepicker').val()).toEqual('27-01-2014');
|
|
|
-
|
|
|
- // disabling is not allowed
|
|
|
- expect(dialog.$el.find('[name=expirationCheckbox]').prop('disabled')).toEqual(true);
|
|
|
- dialog.$el.find('[name=expirationCheckbox]').click();
|
|
|
- expect(dialog.$el.find('[name=expirationCheckbox]').prop('checked')).toEqual(true);
|
|
|
- });
|
|
|
- it('enforces default date when enforced date setting is enabled and password is enforced', function() {
|
|
|
- configModel.set({
|
|
|
- enforcePasswordForPublicLink: true,
|
|
|
- isDefaultExpireDateEnabled: true,
|
|
|
- isDefaultExpireDateEnforced: true
|
|
|
- });
|
|
|
- dialog.render();
|
|
|
- dialog.$el.find('.linkCheckbox').click();
|
|
|
- // here fetch would be called and the server returns the expiration date
|
|
|
- shareModel.get('linkShare').expiration = '2014-1-27 00:00:00';
|
|
|
- dialog.render();
|
|
|
-
|
|
|
- //Enter password
|
|
|
- dialog.$el.find('.linkPassText').val('foo');
|
|
|
- dialog.$el.find('.linkPassText').trigger(new $.Event('keyup', {keyCode: 13}));
|
|
|
- fakeServer.requests[0].respond(
|
|
|
- 200,
|
|
|
- { 'Content-Type': 'application/json' },
|
|
|
- JSON.stringify({data: {token: 'xyz'}, status: 'success'})
|
|
|
- );
|
|
|
-
|
|
|
- expect(dialog.$el.find('[name=expirationCheckbox]').prop('checked')).toEqual(true);
|
|
|
- expect(dialog.$el.find('.datepicker').val()).toEqual('27-01-2014');
|
|
|
-
|
|
|
- // disabling is not allowed
|
|
|
- expect(dialog.$el.find('[name=expirationCheckbox]').prop('disabled')).toEqual(true);
|
|
|
- dialog.$el.find('[name=expirationCheckbox]').click();
|
|
|
- expect(dialog.$el.find('[name=expirationCheckbox]').prop('checked')).toEqual(true);
|
|
|
- });
|
|
|
- it('sets picker minDate to today and no maxDate by default', function() {
|
|
|
- dialog.render();
|
|
|
- dialog.$el.find('.linkCheckbox').click();
|
|
|
- dialog.$el.find('[name=expirationCheckbox]').click();
|
|
|
- expect($.datepicker._defaults.minDate).toEqual(expectedMinDate);
|
|
|
- expect($.datepicker._defaults.maxDate).toEqual(null);
|
|
|
- });
|
|
|
- it('limits the date range to X days after share time when enforced', function() {
|
|
|
- configModel.set({
|
|
|
- isDefaultExpireDateEnabled: true,
|
|
|
- isDefaultExpireDateEnforced: true
|
|
|
- });
|
|
|
- dialog.render();
|
|
|
- dialog.$el.find('.linkCheckbox').click();
|
|
|
- expect($.datepicker._defaults.minDate).toEqual(expectedMinDate);
|
|
|
- expect($.datepicker._defaults.maxDate).toEqual(new Date(2014, 0, 27, 0, 0, 0, 0));
|
|
|
- });
|
|
|
- it('limits the date range to X days after share time when enforced, even when redisplayed the next days', function() {
|
|
|
- // item exists, was created two days ago
|
|
|
- var shareItem = shareModel.get('linkShare');
|
|
|
- shareItem.expiration = '2014-1-27';
|
|
|
- // share time has time component but must be stripped later
|
|
|
- shareItem.stime = new Date(2014, 0, 20, 11, 0, 25).getTime() / 1000;
|
|
|
- configModel.set({
|
|
|
- isDefaultExpireDateEnabled: true,
|
|
|
- isDefaultExpireDateEnforced: true
|
|
|
- });
|
|
|
- dialog.render();
|
|
|
- expect($.datepicker._defaults.minDate).toEqual(expectedMinDate);
|
|
|
- expect($.datepicker._defaults.maxDate).toEqual(new Date(2014, 0, 27, 0, 0, 0, 0));
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
});
|
|
|
describe('check for avatar', function() {
|
|
|
beforeEach(function() {
|
|
@@ -455,8 +273,8 @@ describe('OC.Share.ShareDialogView', function() {
|
|
|
it('test correct function calls', function() {
|
|
|
expect(avatarStub.calledThrice).toEqual(true);
|
|
|
expect(placeholderStub.callCount).toEqual(4);
|
|
|
- expect(dialog.$('.shareWithList').children().length).toEqual(5);
|
|
|
- expect(dialog.$('.avatar').length).toEqual(6);
|
|
|
+ expect(dialog.$('.shareWithList').children().length).toEqual(6);
|
|
|
+ expect(dialog.$('.avatar').length).toEqual(7);
|
|
|
});
|
|
|
|
|
|
it('test avatar owner', function() {
|