fix: groups.updateCover

v1.18.x
Barış Soner Uşaklı 5 years ago
parent c513b88dff
commit 73ddf1cb98

@ -368,8 +368,15 @@ SocketGroups.cover.update = async (socket, data) => {
if (!socket.uid) {
throw new Error('[[error:no-privileges]]');
}
if (data.file || (!data.imageData && !data.position)) {
throw new Error('[[error:invalid-data]]');
}
await canModifyGroup(socket.uid, data.groupName);
return await groups.updateCover(socket.uid, data);
return await groups.updateCover(socket.uid, {
groupName: data.groupName,
imageData: data.imageData,
position: data.position,
});
};
SocketGroups.cover.remove = async (socket, data) => {
@ -378,7 +385,9 @@ SocketGroups.cover.remove = async (socket, data) => {
}
await canModifyGroup(socket.uid, data.groupName);
await groups.removeCover(data);
await groups.removeCover({
groupName: data.groupName,
});
};
async function canModifyGroup(uid, groupName) {

@ -1387,9 +1387,9 @@ describe('Groups', function () {
});
it('should fail if user is not logged in or not owner', function (done) {
socketGroups.cover.update({ uid: 0 }, {}, function (err) {
socketGroups.cover.update({ uid: 0 }, { imageData: 'asd' }, function (err) {
assert.equal(err.message, '[[error:no-privileges]]');
socketGroups.cover.update({ uid: regularUid }, { groupName: 'Test' }, function (err) {
socketGroups.cover.update({ uid: regularUid }, { groupName: 'Test', imageData: 'asd' }, function (err) {
assert.equal(err.message, '[[error:no-privileges]]');
done();
});
@ -1404,7 +1404,7 @@ describe('Groups', function () {
type: 'image/png',
},
};
socketGroups.cover.update({ uid: adminUid }, data, function (err, data) {
Groups.updateCover({ uid: adminUid }, data, function (err, data) {
assert.ifError(err);
Groups.getGroupFields('Test', ['cover:url'], function (err, groupData) {
assert.ifError(err);
@ -1434,6 +1434,20 @@ describe('Groups', function () {
});
});
it('should fail to upload group cover with invalid image', function (done) {
var data = {
groupName: 'Test',
file: {
path: imagePath,
type: 'image/png',
},
};
socketGroups.cover.update({ uid: adminUid }, data, function (err) {
assert.equal(err.message, '[[error:invalid-data]]');
done();
});
});
it('should fail to upload group cover with invalid image', function (done) {
var data = {
groupName: 'Test',

Loading…
Cancel
Save