From e65d40c937599923dbb0e583ebea59d4a925488f Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Fri, 7 Dec 2018 16:50:35 -0500 Subject: [PATCH] dont return undefined from sortedSetsCard if keys is empty or falsy --- src/database/mongo/sorted.js | 2 +- src/database/postgres/sorted.js | 2 +- src/database/redis/sorted.js | 2 +- test/database/sorted.js | 18 ++++++++++++++++++ 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/database/mongo/sorted.js b/src/database/mongo/sorted.js index a44315d5b5..0cfdf4a1d4 100644 --- a/src/database/mongo/sorted.js +++ b/src/database/mongo/sorted.js @@ -149,7 +149,7 @@ module.exports = function (db, module) { module.sortedSetsCard = function (keys, callback) { if (!Array.isArray(keys) || !keys.length) { - return callback(); + return callback(null, []); } var pipeline = [ { $match: { _key: { $in: keys } } }, diff --git a/src/database/postgres/sorted.js b/src/database/postgres/sorted.js index d540f6ca9a..ecc56e53d0 100644 --- a/src/database/postgres/sorted.js +++ b/src/database/postgres/sorted.js @@ -231,7 +231,7 @@ SELECT COUNT(*) c module.sortedSetsCard = function (keys, callback) { if (!Array.isArray(keys) || !keys.length) { - return callback(); + return callback(null, []); } query({ diff --git a/src/database/redis/sorted.js b/src/database/redis/sorted.js index 24b595f565..883bf54455 100644 --- a/src/database/redis/sorted.js +++ b/src/database/redis/sorted.js @@ -116,7 +116,7 @@ module.exports = function (redisClient, module) { }; module.sortedSetsCard = function (keys, callback) { - if (Array.isArray(keys) && !keys.length) { + if (!Array.isArray(keys) || !keys.length) { return callback(null, []); } var batch = redisClient.batch(); diff --git a/test/database/sorted.js b/test/database/sorted.js index d87052935e..fcbea80e76 100644 --- a/test/database/sorted.js +++ b/test/database/sorted.js @@ -331,6 +331,24 @@ describe('Sorted Set methods', function () { done(); }); }); + + it('should return empty array if keys is falsy', function (done) { + db.sortedSetsCard(undefined, function (err, counts) { + assert.ifError(err); + assert.equal(arguments.length, 2); + assert.deepEqual(counts, []); + done(); + }); + }); + + it('should return empty array if keys is empty array', function (done) { + db.sortedSetsCard([], function (err, counts) { + assert.ifError(err); + assert.equal(arguments.length, 2); + assert.deepEqual(counts, []); + done(); + }); + }); }); describe('sortedSetRank()', function () {