From 6d6ec7e3e906e25d3a0c726dbaf3fab9e6b649cb Mon Sep 17 00:00:00 2001 From: JamesGDiaz <47843895+JamesGDiaz@users.noreply.github.com> Date: Mon, 21 Feb 2022 17:59:21 -0600 Subject: [PATCH] fix TS.QUERYINDEX with multiple filters (#1996) * fix TS.QUERYINDEX with multiple filters * Update QUERYINDEX.spec.ts * Update QUERYINDEX.spec.ts * Update QUERYINDEX.spec.ts Co-authored-by: Leibale Eidelman --- .../lib/commands/QUERYINDEX.spec.ts | 31 ++++++++++++------- .../time-series/lib/commands/QUERYINDEX.ts | 8 +++-- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/packages/time-series/lib/commands/QUERYINDEX.spec.ts b/packages/time-series/lib/commands/QUERYINDEX.spec.ts index ebd3e14dcd..010c5c8f63 100644 --- a/packages/time-series/lib/commands/QUERYINDEX.spec.ts +++ b/packages/time-series/lib/commands/QUERYINDEX.spec.ts @@ -3,21 +3,28 @@ import testUtils, { GLOBAL } from '../test-utils'; import { transformArguments } from './QUERYINDEX'; describe('QUERYINDEX', () => { - it('transformArguments', () => { - assert.deepEqual( - transformArguments('*'), - ['TS.QUERYINDEX', '*'] - ); + describe('transformArguments', () => { + it('single filter', () => { + assert.deepEqual( + transformArguments('*'), + ['TS.QUERYINDEX', '*'] + ); + }); + + it('multiple filters', () => { + assert.deepEqual( + transformArguments(['a=1', 'b=2']), + ['TS.QUERYINDEX', 'a=1', 'b=2'] + ); + }); }); testUtils.testWithClient('client.ts.queryIndex', async client => { - await Promise.all([ - client.ts.create('key', { - LABELS: { - label: 'value' - } - }) - ]); + await client.ts.create('key', { + LABELS: { + label: 'value' + } + }); assert.deepEqual( await client.ts.queryIndex('label=value'), diff --git a/packages/time-series/lib/commands/QUERYINDEX.ts b/packages/time-series/lib/commands/QUERYINDEX.ts index c3970675ea..8872605fa6 100644 --- a/packages/time-series/lib/commands/QUERYINDEX.ts +++ b/packages/time-series/lib/commands/QUERYINDEX.ts @@ -1,7 +1,11 @@ +import { RedisCommandArguments } from '@node-redis/client/dist/lib/commands'; +import { pushVerdictArguments } from '@node-redis/client/dist/lib/commands/generic-transformers'; +import { Filter } from '.'; + export const IS_READ_ONLY = true; -export function transformArguments(query: string): Array { - return ['TS.QUERYINDEX', query]; +export function transformArguments(filter: Filter): RedisCommandArguments { + return pushVerdictArguments(['TS.QUERYINDEX'], filter); } export declare function transformReply(): Array;