remove 'send mail notification' option from sharing, replaced by send-by-mail feature

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
This commit is contained in:
Bjoern Schiessle 2016-11-02 11:37:25 +01:00
parent 7da3ba3f91
commit f556c58c22
No known key found for this signature in database
GPG Key ID: 2378A753E2BF04F6
17 changed files with 22 additions and 494 deletions

View File

@ -235,8 +235,6 @@ class ViewController extends Controller {
$params['owner'] = $storageInfo['owner'];
$params['ownerDisplayName'] = $storageInfo['ownerDisplayName'];
$params['isPublic'] = false;
$params['mailNotificationEnabled'] = $this->config->getAppValue('core', 'shareapi_allow_mail_notification', 'no');
$params['mailPublicNotificationEnabled'] = $this->config->getAppValue('core', 'shareapi_allow_public_notification', 'no');
$params['allowShareWithLink'] = $this->config->getAppValue('core', 'shareapi_allow_links', 'yes');
$user = $this->userSession->getUser()->getUID();
$params['defaultFileSorting'] = $this->config->getUserValue($user, 'files', 'file_sorting', 'name');

View File

@ -16,8 +16,6 @@
<input type="hidden" name="ownerDisplayName" id="ownerDisplayName" value="<?php p($_['ownerDisplayName']); ?>" />
<input type="hidden" name="fileNotFound" id="fileNotFound" value="<?php p($_['fileNotFound']); ?>" />
<?php if (!$_['isPublic']) :?>
<input type="hidden" name="mailNotificationEnabled" id="mailNotificationEnabled" value="<?php p($_['mailNotificationEnabled']) ?>" />
<input type="hidden" name="mailPublicNotificationEnabled" id="mailPublicNotificationEnabled" value="<?php p($_['mailPublicNotificationEnabled']) ?>" />
<input type="hidden" name="allowShareWithLink" id="allowShareWithLink" value="<?php p($_['allowShareWithLink']) ?>" />
<input type="hidden" name="defaultFileSorting" id="defaultFileSorting" value="<?php p($_['defaultFileSorting']) ?>" />
<input type="hidden" name="defaultFileSortingDirection" id="defaultFileSortingDirection" value="<?php p($_['defaultFileSortingDirection']) ?>" />

View File

@ -218,8 +218,6 @@ class ViewControllerTest extends TestCase {
'defaultFileSortingDirection' => 'asc',
'showHiddenFiles' => 0,
'fileNotFound' => 0,
'mailNotificationEnabled' => 'no',
'mailPublicNotificationEnabled' => 'no',
'allowShareWithLink' => 'yes',
'appNavigation' => $nav,
'appContents' => [

View File

@ -73,10 +73,10 @@ class Capabilities implements ICapability {
}
$res["public"] = $public;
$res['user']['send_mail'] = $this->config->getAppValue('core', 'shareapi_allow_mail_notification', 'no') === 'yes';
$res['resharing'] = $this->config->getAppValue('core', 'shareapi_allow_resharing', 'yes') === 'yes';
$res['user']['send_mail'] = false;
$res['group_sharing'] = $this->config->getAppValue('core', 'shareapi_allow_group_sharing', 'yes') === 'yes';
}

View File

@ -188,24 +188,6 @@ class CapabilitiesTest extends \Test\TestCase {
$this->assertFalse($result['public']['send_mail']);
}
public function testUserSendMail() {
$map = [
['core', 'shareapi_enabled', 'yes', 'yes'],
['core', 'shareapi_allow_mail_notification', 'no', 'yes'],
];
$result = $this->getResults($map);
$this->assertTrue($result['user']['send_mail']);
}
public function testUserNoSendMail() {
$map = [
['core', 'shareapi_enabled', 'yes', 'yes'],
['core', 'shareapi_allow_mail_notification', 'no', 'no'],
];
$result = $this->getResults($map);
$this->assertFalse($result['user']['send_mail']);
}
public function testResharing() {
$map = [
['core', 'shareapi_enabled', 'yes', 'yes'],

View File

@ -46,20 +46,6 @@
return publicUploadEnabled === 'yes';
},
/**
* @returns {boolean}
*/
isMailPublicNotificationEnabled: function() {
return $('input:hidden[name=mailPublicNotificationEnabled]').val() === 'yes';
},
/**
* @returns {boolean}
*/
isMailNotificationEnabled: function() {
return $('input:hidden[name=mailNotificationEnabled]').val() === 'yes';
},
/**
* @returns {boolean}
*/

View File

@ -332,7 +332,6 @@
hideFileListChecked: hideFileListChecked,
publicUploadLabel: t('core', 'Allow upload and editing'),
hideFileListLabel: t('core', 'Hide file listing'),
mailPublicNotificationEnabled: isLinkShare && this.configModel.isMailPublicNotificationEnabled(),
mailPrivatePlaceholder: t('core', 'Email link to person'),
mailButtonText: t('core', 'Send')
}));

View File

@ -1,178 +0,0 @@
/*
* Copyright (c) 2016
*
* This file is licensed under the Affero General Public License version 3
* or later.
*
* See the COPYING-README file.
*
*/
/* globals escapeHTML, Handlebars */
(function() {
if (!OC.Share) {
OC.Share = {};
}
var TEMPLATE =
'{{#if shareAllowed}}' +
' {{#if mailPublicNotificationEnabled}}' +
'<form id="emailPrivateLink" class="emailPrivateLinkForm oneline">' +
' <input id="email" class="emailField" value="{{email}}" placeholder="{{mailPrivatePlaceholder}}" type="text" />' +
' <a id="emailButton" class="icon icon-mail hasTooltip" title="Send e-mail"></a>' +
'</form>' +
' {{/if}}' +
'{{/if}}'
;
/**
* @class OCA.Share.ShareDialogMailView
* @member {OC.Share.ShareItemModel} model
* @member {jQuery} $el
* @memberof OCA.Sharing
* @classdesc
*
* Represents the GUI of the share dialogue
*
*/
var ShareDialogMailView = OC.Backbone.View.extend({
/** @type {string} **/
id: 'shareDialogMailView',
/** @type {OC.Share.ShareConfigModel} **/
configModel: undefined,
/** @type {Function} **/
_template: undefined,
/** @type {boolean} **/
showLink: true,
events: {
'click #emailButton': '_onEmailPrivateLink'
},
initialize: function(options) {
var view = this;
this.model.on('change:linkShare', function() {
view.render();
});
if(!_.isUndefined(options.configModel)) {
this.configModel = options.configModel;
} else {
throw 'missing OC.Share.ShareConfigModel';
}
_.bindAll(
this,
'_onEmailPrivateLink'
);
},
_onEmailPrivateLink: function(event) {
event.preventDefault();
var $emailField = this.$el.find('.emailField');
var $emailButton = this.$el.find('.emailButton');
var email = $emailField.val();
if (email !== '') {
$emailField.prop('disabled', true);
$emailButton.prop('disabled', true);
$emailField.val(t('core', 'Sending ...'));
this.model.sendEmailPrivateLink(email).done(function() {
$emailField.css('font-weight', 'bold').val(t('core','Email sent'));
setTimeout(function() {
$emailField.val('');
$emailField.css('font-weight', 'normal');
$emailField.prop('disabled', false);
$emailButton.prop('disabled', false);
}, 2000);
}).fail(function() {
$emailField.val(email);
$emailField.css('font-weight', 'normal');
$emailField.prop('disabled', false);
$emailButton.prop('disabled', false);
});
}
return false;
},
render: function() {
var linkShareTemplate = this.template();
var resharingAllowed = this.model.sharePermissionPossible();
var email = this.$el.find('.emailField').val();
if(!resharingAllowed
|| !this.showLink
|| !this.configModel.isShareWithLinkAllowed())
{
var templateData = {shareAllowed: false};
if (!resharingAllowed) {
// add message
templateData.noSharingPlaceholder = t('core', 'Resharing is not allowed');
}
this.$el.html(linkShareTemplate(templateData));
return this;
}
var isLinkShare = this.model.get('linkShare').isLinkShare;
this.$el.html(linkShareTemplate({
cid: this.cid,
shareAllowed: true,
mailPublicNotificationEnabled: isLinkShare && this.configModel.isMailPublicNotificationEnabled(),
mailPrivatePlaceholder: t('core', 'Email link to person'),
mailButtonText: t('core', 'Send link via email'),
email: email
}));
var $emailField = this.$el.find('.emailField');
if (isLinkShare && $emailField.length !== 0) {
$emailField.autocomplete({
minLength: 1,
source: function (search, response) {
$.get(
OC.generateUrl('core/ajax/share.php'), {
fetch: 'getShareWithEmail',
search: search.term
}, function(result) {
if (result.status === 'success' && result.data.length > 0) {
response(result.data);
}
});
},
select: function( event, item ) {
$emailField.val(item.item.email);
return false;
}
})
.data("ui-autocomplete")._renderItem = function( ul, item ) {
return $('<li>')
.append('<a>' + escapeHTML(item.displayname) + "<br>" + escapeHTML(item.email) + '</a>' )
.appendTo( ul );
};
}
this.delegateEvents();
return this;
},
/**
* @returns {Function} from Handlebars
* @private
*/
template: function () {
if (!this._template) {
this._template = Handlebars.compile(TEMPLATE);
}
return this._template;
}
});
OC.Share.ShareDialogMailView = ShareDialogMailView;
})();

View File

@ -173,7 +173,6 @@
hasCreatePermission: this.model.hasCreatePermission(shareIndex),
hasUpdatePermission: this.model.hasUpdatePermission(shareIndex),
hasDeletePermission: this.model.hasDeletePermission(shareIndex),
wasMailSent: this.model.notificationMailWasSent(shareIndex),
shareWith: shareWith,
shareWithDisplayName: shareWithDisplayName,
shareWithTitle: shareWithTitle,
@ -189,7 +188,6 @@
getShareeList: function() {
var universal = {
avatarEnabled: this.configModel.areAvatarsEnabled(),
notifyByMailLabel: t('core', 'notify by email'),
unshareLabel: t('core', 'Unshare'),
canShareLabel: t('core', 'can reshare'),
canEditLabel: t('core', 'can edit'),

View File

@ -28,7 +28,6 @@
'<div class="shareeListView subView"></div>' +
'<div class="linkShareView subView"></div>' +
'<div class="expirationView subView"></div>' +
'<div class="mailView subView"></div>' +
'<div class="loading hidden" style="height: 50px"></div>';
var TEMPLATE_REMOTE_SHARE_INFO =
@ -70,9 +69,6 @@
/** @type {object} **/
shareeListView: undefined,
/** @type {object} **/
mailView: undefined,
events: {
'input .shareWithField': 'onShareWithFieldChanged'
},
@ -109,8 +105,7 @@
resharerInfoView: 'ShareDialogResharerInfoView',
linkShareView: 'ShareDialogLinkShareView',
expirationView: 'ShareDialogExpirationView',
shareeListView: 'ShareDialogShareeListView',
mailView: 'ShareDialogMailView'
shareeListView: 'ShareDialogShareeListView'
};
for(var name in subViews) {
@ -383,9 +378,6 @@
this.shareeListView.$el = this.$el.find('.shareeListView');
this.shareeListView.render();
this.mailView.$el = this.$el.find('.mailView');
this.mailView.render();
this.$el.find('.hasTooltip').tooltip();
return this;

View File

@ -417,49 +417,6 @@
return (share.permissions & permission) === permission;
},
notificationMailWasSent: function(shareIndex) {
/** @type OC.Share.Types.ShareInfo **/
var share = this.get('shares')[shareIndex];
if(!_.isObject(share)) {
throw "Unknown Share";
}
return share.mail_send === 1;
},
/**
* Send the link share information by email
*
* @param {string} recipientEmail recipient email address
*/
sendEmailPrivateLink: function(recipientEmail) {
var deferred = $.Deferred();
var itemType = this.get('itemType');
var itemSource = this.get('itemSource');
var linkShare = this.get('linkShare');
$.post(
OC.generateUrl('core/ajax/share.php'), {
action: 'email',
toaddress: recipientEmail,
link: linkShare.link,
itemType: itemType,
itemSource: itemSource,
file: this.fileInfoModel.get('name'),
expiration: linkShare.expiration || ''
},
function(result) {
if (!result || result.status !== 'success') {
// FIXME: a model should not show dialogs
OC.dialogs.alert(result.data.message, t('core', 'Error while sending notification'));
deferred.reject();
} else {
deferred.resolve();
}
});
return deferred.promise();
},
/**
* @returns {boolean}
*/

View File

@ -34,8 +34,6 @@ describe('OC.Share.ShareDialogShareeListView', function () {
oldAppConfig = _.extend({}, oc_appconfig.core);
oc_appconfig.core.enforcePasswordForPublicLink = false;
$('#testArea').append('<input id="mailNotificationEnabled" name="mailNotificationEnabled" type="hidden" value="yes">');
fileInfoModel = new OCA.Files.FileInfoModel({
id: 123,
name: 'shared_file_name.txt',

View File

@ -247,7 +247,7 @@ describe('OC.Share.ShareDialogView', function() {
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();
@ -402,76 +402,7 @@ describe('OC.Share.ShareDialogView', function() {
expect($.datepicker._defaults.maxDate).toEqual(new Date(2014, 0, 27, 0, 0, 0, 0));
});
});
describe('send link by email', function() {
var sendEmailPrivateLinkStub;
var clock;
beforeEach(function() {
configModel.set({
isMailPublicNotificationEnabled: true
});
shareModel.set('linkShare', {
isLinkShare: true,
token: 'tehtoken',
permissions: OC.PERMISSION_READ,
expiration: null
});
sendEmailPrivateLinkStub = sinon.stub(dialog.model, "sendEmailPrivateLink");
clock = sinon.useFakeTimers();
});
afterEach(function() {
sendEmailPrivateLinkStub.restore();
clock.restore();
});
it('displays form when sending emails is enabled', function() {
$('input[name=mailPublicNotificationEnabled]').val('yes');
dialog.render();
expect(dialog.$('.emailPrivateLinkForm').length).toEqual(1);
});
it('form not rendered when sending emails is disabled', function() {
$('input[name=mailPublicNotificationEnabled]').val('no');
dialog.render();
expect(dialog.$('.emailPrivateLinkForm').length).toEqual(0);
});
it('input cleared on success', function() {
var defer = $.Deferred();
sendEmailPrivateLinkStub.returns(defer.promise());
$('input[name=mailPublicNotificationEnabled]').val('yes');
dialog.render();
dialog.$el.find('.emailPrivateLinkForm .emailField').val('a@b.c');
dialog.$el.find('#emailButton').trigger('click');
expect(sendEmailPrivateLinkStub.callCount).toEqual(1);
expect(dialog.$el.find('.emailPrivateLinkForm .emailField').val()).toEqual('Sending ...');
defer.resolve();
expect(dialog.$el.find('.emailPrivateLinkForm .emailField').val()).toEqual('Email sent');
clock.tick(2000);
expect(dialog.$el.find('.emailPrivateLinkForm .emailField').val()).toEqual('');
});
it('input not cleared on failure', function() {
var defer = $.Deferred();
sendEmailPrivateLinkStub.returns(defer.promise());
$('input[name=mailPublicNotificationEnabled]').val('yes');
dialog.render();
dialog.$el.find('.emailPrivateLinkForm .emailField').val('a@b.c');
dialog.$el.find('#emailButton').trigger('click');
expect(sendEmailPrivateLinkStub.callCount).toEqual(1);
expect(dialog.$el.find('.emailPrivateLinkForm .emailField').val()).toEqual('Sending ...');
defer.reject();
expect(dialog.$el.find('.emailPrivateLinkForm .emailField').val()).toEqual('a@b.c');
});
});
});
describe('check for avatar', function() {
beforeEach(function() {

View File

@ -464,107 +464,7 @@ describe('OC.Share.ShareItemModel', function() {
});
});
describe('sendEmailPrivateLink', function() {
it('succeeds', function() {
/* jshint camelcase: false */
fetchReshareDeferred.resolve(makeOcsResponse([]));
fetchSharesDeferred.resolve(makeOcsResponse([{
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.currentUser = 'root';
model.fetch();
var res = model.sendEmailPrivateLink('foo@bar.com');
expect(res.state()).toEqual('pending');
expect(fakeServer.requests.length).toEqual(1);
expect(fakeServer.requests[0].url).toEqual(OC.generateUrl('core/ajax/share.php'));
expect(OC.parseQueryString(fakeServer.requests[0].requestBody)).toEqual(
{
action: 'email',
toaddress: 'foo@bar.com',
link: model.get('linkShare').link,
itemType: 'file',
itemSource: '123',
file: 'shared_file_name.txt',
expiration: ''
}
)
fakeServer.requests[0].respond(
200,
{ 'Content-Type': 'application/json' },
JSON.stringify({status: 'success'})
);
expect(res.state()).toEqual('resolved');
});
it('fails', function() {
/* jshint camelcase: false */
fetchReshareDeferred.resolve(makeOcsResponse([]));
fetchSharesDeferred.resolve(makeOcsResponse([{
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.currentUser = 'root';
model.fetch();
var res = model.sendEmailPrivateLink('foo@bar.com');
expect(res.state()).toEqual('pending');
expect(fakeServer.requests.length).toEqual(1);
expect(fakeServer.requests[0].url).toEqual(OC.generateUrl('core/ajax/share.php'));
expect(OC.parseQueryString(fakeServer.requests[0].requestBody)).toEqual(
{
action: 'email',
toaddress: 'foo@bar.com',
link: model.get('linkShare').link,
itemType: 'file',
itemSource: '123',
file: 'shared_file_name.txt',
expiration: ''
}
)
fakeServer.requests[0].respond(
200,
{ 'Content-Type': 'application/json' },
JSON.stringify({data: {message: 'fail'}, status: 'error'})
);
expect(res.state()).toEqual('rejected');
});
});
describe('share permissions', function() {
beforeEach(function() {
oc_appconfig.core.resharingAllowed = true;
@ -635,7 +535,7 @@ describe('OC.Share.ShareItemModel', function() {
addShareStub = sinon.stub(model, 'addShare');
updateShareStub = sinon.stub(model, 'updateShare');
});
afterEach(function() {
afterEach(function() {
addShareStub.restore();
updateShareStub.restore();
});

View File

@ -52,8 +52,6 @@ class Sharing implements ISettings {
// Built-In Sharing
'allowGroupSharing' => $this->config->getAppValue('core', 'shareapi_allow_group_sharing', 'yes'),
'allowLinks' => $this->config->getAppValue('core', 'shareapi_allow_links', 'yes'),
'allowMailNotification' => $this->config->getAppValue('core', 'shareapi_allow_mail_notification', 'no'),
'allowPublicMailNotification' => $this->config->getAppValue('core', 'shareapi_allow_public_notification', 'no'),
'allowPublicUpload' => $this->config->getAppValue('core', 'shareapi_allow_public_upload', 'yes'),
'allowResharing' => $this->config->getAppValue('core', 'shareapi_allow_resharing', 'yes'),
'allowShareDialogUserEnumeration' => $this->config->getAppValue('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes'),

View File

@ -80,11 +80,6 @@
value="1" <?php if ($_['onlyShareWithGroupMembers']) print_unescaped('checked="checked"'); ?> />
<label for="onlyShareWithGroupMembers"><?php p($l->t('Restrict users to only share with users in their groups'));?></label><br/>
</p>
<p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>">
<input type="checkbox" name="shareapi_allow_mail_notification" id="allowMailNotification" class="checkbox"
value="1" <?php if ($_['allowMailNotification'] === 'yes') print_unescaped('checked="checked"'); ?> />
<label for="allowMailNotification"><?php p($l->t('Allow users to send mail notification for shared files to other users'));?></label><br/>
</p>
<p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>">
<input type="checkbox" name="shareapi_exclude_groups" id="shareapiExcludeGroups" class="checkbox"
value="1" <?php if ($_['shareExcludeGroups']) print_unescaped('checked="checked"'); ?> />

View File

@ -62,55 +62,45 @@ class SharingTest extends TestCase {
$this->config
->expects($this->at(3))
->method('getAppValue')
->with('core', 'shareapi_allow_mail_notification', 'no')
->willReturn('no');
$this->config
->expects($this->at(4))
->method('getAppValue')
->with('core', 'shareapi_allow_public_notification', 'no')
->willReturn('no');
$this->config
->expects($this->at(5))
->method('getAppValue')
->with('core', 'shareapi_allow_public_upload', 'yes')
->willReturn('yes');
$this->config
->expects($this->at(6))
->expects($this->at(4))
->method('getAppValue')
->with('core', 'shareapi_allow_resharing', 'yes')
->willReturn('yes');
$this->config
->expects($this->at(7))
->expects($this->at(5))
->method('getAppValue')
->with('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes')
->willReturn('yes');
$this->config
->expects($this->at(8))
->expects($this->at(6))
->method('getAppValue')
->with('core', 'shareapi_enabled', 'yes')
->willReturn('yes');
$this->config
->expects($this->at(9))
->expects($this->at(7))
->method('getAppValue')
->with('core', 'shareapi_default_expire_date', 'no')
->willReturn('no');
$this->config
->expects($this->at(10))
->expects($this->at(8))
->method('getAppValue')
->with('core', 'shareapi_expire_after_n_days', '7')
->willReturn('7');
$this->config
->expects($this->at(11))
->expects($this->at(9))
->method('getAppValue')
->with('core', 'shareapi_enforce_expire_date', 'no')
->willReturn('no');
$this->config
->expects($this->at(12))
->expects($this->at(10))
->method('getAppValue')
->with('core', 'shareapi_exclude_groups', 'no')
->willReturn('no');
$this->config
->expects($this->at(13))
->expects($this->at(11))
->method('getAppValue')
->with('core', 'shareapi_public_link_disclaimertext', null)
->willReturn('Lorem ipsum');
@ -121,8 +111,6 @@ class SharingTest extends TestCase {
[
'allowGroupSharing' => 'yes',
'allowLinks' => 'yes',
'allowMailNotification' => 'no',
'allowPublicMailNotification' => 'no',
'allowPublicUpload' => 'yes',
'allowResharing' => 'yes',
'allowShareDialogUserEnumeration' => 'yes',
@ -161,55 +149,45 @@ class SharingTest extends TestCase {
$this->config
->expects($this->at(3))
->method('getAppValue')
->with('core', 'shareapi_allow_mail_notification', 'no')
->willReturn('no');
$this->config
->expects($this->at(4))
->method('getAppValue')
->with('core', 'shareapi_allow_public_notification', 'no')
->willReturn('no');
$this->config
->expects($this->at(5))
->method('getAppValue')
->with('core', 'shareapi_allow_public_upload', 'yes')
->willReturn('yes');
$this->config
->expects($this->at(6))
->expects($this->at(4))
->method('getAppValue')
->with('core', 'shareapi_allow_resharing', 'yes')
->willReturn('yes');
$this->config
->expects($this->at(7))
->expects($this->at(5))
->method('getAppValue')
->with('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes')
->willReturn('yes');
$this->config
->expects($this->at(8))
->expects($this->at(6))
->method('getAppValue')
->with('core', 'shareapi_enabled', 'yes')
->willReturn('yes');
$this->config
->expects($this->at(9))
->expects($this->at(7))
->method('getAppValue')
->with('core', 'shareapi_default_expire_date', 'no')
->willReturn('no');
$this->config
->expects($this->at(10))
->expects($this->at(8))
->method('getAppValue')
->with('core', 'shareapi_expire_after_n_days', '7')
->willReturn('7');
$this->config
->expects($this->at(11))
->expects($this->at(9))
->method('getAppValue')
->with('core', 'shareapi_enforce_expire_date', 'no')
->willReturn('no');
$this->config
->expects($this->at(12))
->expects($this->at(10))
->method('getAppValue')
->with('core', 'shareapi_exclude_groups', 'no')
->willReturn('yes');
$this->config
->expects($this->at(13))
->expects($this->at(11))
->method('getAppValue')
->with('core', 'shareapi_public_link_disclaimertext', null)
->willReturn('Lorem ipsum');
@ -220,8 +198,6 @@ class SharingTest extends TestCase {
[
'allowGroupSharing' => 'yes',
'allowLinks' => 'yes',
'allowMailNotification' => 'no',
'allowPublicMailNotification' => 'no',
'allowPublicUpload' => 'yes',
'allowResharing' => 'yes',
'allowShareDialogUserEnumeration' => 'yes',