diff --git a/packages/client/lib/commands/PUBSUB_NUMSUB.spec.ts b/packages/client/lib/commands/PUBSUB_NUMSUB.spec.ts index 11339ae2bb..4965c43fc6 100644 --- a/packages/client/lib/commands/PUBSUB_NUMSUB.spec.ts +++ b/packages/client/lib/commands/PUBSUB_NUMSUB.spec.ts @@ -27,10 +27,38 @@ describe('PUBSUB NUMSUB', () => { }); }); - testUtils.testWithClient('client.pubSubNumSub', async client => { + testUtils.testWithClient('client.pubSubNumSub resp2', async client => { assert.deepEqual( await client.pubSubNumSub(), Object.create(null) ); - }, GLOBAL.SERVERS.OPEN); + + const res = await client.PUBSUB_NUMSUB(["test", "test2"]); + assert.equal(res.test, 0); + assert.equal(res.test2, 0); + + }, { + ...GLOBAL.SERVERS.OPEN, + clientOptions: { + RESP: 2 + } + }); + + testUtils.testWithClient('client.pubSubNumSub resp3', async client => { + assert.deepEqual( + await client.pubSubNumSub(), + Object.create(null) + ); + + const res = await client.PUBSUB_NUMSUB(["test", "test2"]); + assert.equal(res.test, 0); + assert.equal(res.test2, 0); + + }, { + ...GLOBAL.SERVERS.OPEN, + clientOptions: { + RESP: 3 + } + }); + }); diff --git a/packages/client/lib/commands/PUBSUB_NUMSUB.ts b/packages/client/lib/commands/PUBSUB_NUMSUB.ts index da6647dc55..980679ff2e 100644 --- a/packages/client/lib/commands/PUBSUB_NUMSUB.ts +++ b/packages/client/lib/commands/PUBSUB_NUMSUB.ts @@ -7,7 +7,7 @@ export default { IS_READ_ONLY: true, /** * Constructs the PUBSUB NUMSUB command - * + * * @param parser - The command parser * @param channels - Optional channel names to get subscription count for * @see https://redis.io/commands/pubsub-numsub/ @@ -21,7 +21,7 @@ export default { }, /** * Transforms the PUBSUB NUMSUB reply into a record of channel name to subscriber count - * + * * @param rawReply - The raw reply from Redis * @returns Record mapping channel names to their subscriber counts */ @@ -29,7 +29,7 @@ export default { const reply = Object.create(null); let i = 0; while (i < rawReply.length) { - reply[rawReply[i++].toString()] = rawReply[i++].toString(); + reply[rawReply[i++].toString()] = Number(rawReply[i++]); } return reply as Record;