From 18181260e7b0e19181fc499a8dbfc91891d50fd5 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Tue, 18 Jul 2017 13:36:21 -0400 Subject: [PATCH] closes #5836 --- src/groups/membership.js | 4 ++++ test/groups.js | 26 ++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/groups/membership.js b/src/groups/membership.js index 1fc06cb5a5..8ffd845443 100644 --- a/src/groups/membership.js +++ b/src/groups/membership.js @@ -28,6 +28,10 @@ module.exports = function (Groups) { return callback(new Error('[[error:invalid-data]]')); } + if (!uid) { + return callback(new Error('[[error:invalid-uid]]')); + } + async.waterfall([ function (next) { Groups.isMember(uid, groupName, next); diff --git a/test/groups.js b/test/groups.js index e914953e10..d245f5744d 100644 --- a/test/groups.js +++ b/test/groups.js @@ -411,6 +411,32 @@ describe('Groups', function () { }); }); }); + + it('should fail to add user to group if group name is invalid', function (done) { + Groups.join(0, 1, function (err) { + assert.equal(err.message, '[[error:invalid-data]]'); + Groups.join(null, 1, function (err) { + assert.equal(err.message, '[[error:invalid-data]]'); + Groups.join(undefined, 1, function (err) { + assert.equal(err.message, '[[error:invalid-data]]'); + done(); + }); + }); + }); + }); + + it('should fail to add user to group if uid is invalid', function (done) { + Groups.join('Test', 0, function (err) { + assert.equal(err.message, '[[error:invalid-uid]]'); + Groups.join('Test', null, function (err) { + assert.equal(err.message, '[[error:invalid-uid]]'); + Groups.join('Test', undefined, function (err) { + assert.equal(err.message, '[[error:invalid-uid]]'); + done(); + }); + }); + }); + }); }); describe('.leave()', function () {