diff --git a/src/topics/unread.js b/src/topics/unread.js index cc3101ee05..b2f5b199d1 100644 --- a/src/topics/unread.js +++ b/src/topics/unread.js @@ -206,7 +206,7 @@ module.exports = function (Topics) { Topics.markAsRead = function (tids, uid, callback) { callback = callback || function () {}; if (!Array.isArray(tids) || !tids.length) { - return callback(); + return setImmediate(callback, null, false); } tids = tids.filter(function (tid, index, array) { @@ -214,7 +214,7 @@ module.exports = function (Topics) { }); if (!tids.length) { - return callback(null, false); + return setImmediate(callback, null, false); } async.waterfall([ diff --git a/test/topics.js b/test/topics.js index 5a65cf8ec8..2222395833 100644 --- a/test/topics.js +++ b/test/topics.js @@ -1181,6 +1181,14 @@ describe('Topic\'s', function () { }); }); }); + + it('should not do anything if tids is empty array', function (done) { + socketTopics.markAsRead({ uid: adminUid }, [], function (err, markedRead) { + assert.ifError(err); + assert(!markedRead); + done(); + }); + }); }); describe('tags', function () {