You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-04 15:02:09 +03:00
fix some Z (sorted list) commands, increase commands test coverage
This commit is contained in:
@@ -30,7 +30,18 @@ describe('COMMAND INFO', () => {
|
||||
);
|
||||
});
|
||||
|
||||
testUtils.testWithClient('client.commandInfo', async client => {
|
||||
assertPingCommand((await client.commandInfo(['PING']))[0]);
|
||||
}, GLOBAL.SERVERS.OPEN);
|
||||
describe('client.commandInfo', () => {
|
||||
testUtils.testWithClient('PING', async client => {
|
||||
assertPingCommand((await client.commandInfo(['PING']))[0]);
|
||||
}, GLOBAL.SERVERS.OPEN);
|
||||
|
||||
testUtils.testWithClient('DOSE_NOT_EXISTS', async client => {
|
||||
assert.deepEqual(
|
||||
await client.commandInfo(['DOSE_NOT_EXISTS']),
|
||||
[null]
|
||||
);
|
||||
}, GLOBAL.SERVERS.OPEN);
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
@@ -23,7 +23,7 @@ export function transformArguments(...[ key, value, fieldValue ]: SingleFieldArg
|
||||
pushMap(args, value);
|
||||
} else if (Array.isArray(value)) {
|
||||
pushTuples(args, value);
|
||||
} else if (typeof value === 'object' && value !== null) {
|
||||
} else {
|
||||
pushObject(args, value);
|
||||
}
|
||||
|
||||
|
@@ -1,15 +1,15 @@
|
||||
import { transformArgumentNumberInfinity } from './generic-transformers';
|
||||
import { transformArgumentStringNumberInfinity } from './generic-transformers';
|
||||
|
||||
export const FIRST_KEY_INDEX = 1;
|
||||
|
||||
export const IS_READ_ONLY = true;
|
||||
|
||||
export function transformArguments(key: string, min: number, max: number): Array<string> {
|
||||
export function transformArguments(key: string, min: string | number, max: string | number): Array<string> {
|
||||
return [
|
||||
'ZCOUNT',
|
||||
key,
|
||||
transformArgumentNumberInfinity(min),
|
||||
transformArgumentNumberInfinity(max)
|
||||
transformArgumentStringNumberInfinity(min),
|
||||
transformArgumentStringNumberInfinity(max)
|
||||
];
|
||||
}
|
||||
|
||||
|
@@ -11,13 +11,6 @@ describe('ZRANGE', () => {
|
||||
);
|
||||
});
|
||||
|
||||
it('using strings', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('src', '0', '1'),
|
||||
['ZRANGE', 'src', '0', '1']
|
||||
);
|
||||
});
|
||||
|
||||
it('with BYSCORE', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('src', 0, 1, {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { transformArgumentNumberInfinity } from './generic-transformers';
|
||||
import { transformArgumentStringNumberInfinity } from './generic-transformers';
|
||||
|
||||
export const FIRST_KEY_INDEX = 1;
|
||||
|
||||
@@ -17,8 +17,8 @@ export function transformArguments(key: string, min: string | number, max: strin
|
||||
const args = [
|
||||
'ZRANGE',
|
||||
key,
|
||||
typeof min === 'string' ? min : transformArgumentNumberInfinity(min),
|
||||
typeof max === 'string' ? max : transformArgumentNumberInfinity(max)
|
||||
transformArgumentStringNumberInfinity(min),
|
||||
transformArgumentStringNumberInfinity(max)
|
||||
];
|
||||
|
||||
switch (options?.BY) {
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import { RedisCommandArguments } from '.';
|
||||
import { transformArgumentNumberInfinity } from './generic-transformers';
|
||||
import { transformArgumentStringNumberInfinity } from './generic-transformers';
|
||||
|
||||
export const FIRST_KEY_INDEX = 1;
|
||||
|
||||
@@ -21,8 +21,8 @@ export function transformArguments(
|
||||
const args = [
|
||||
'ZRANGEBYLEX',
|
||||
key,
|
||||
typeof min === 'string' ? min : transformArgumentNumberInfinity(min),
|
||||
typeof max === 'string' ? max : transformArgumentNumberInfinity(max)
|
||||
transformArgumentStringNumberInfinity(min),
|
||||
transformArgumentStringNumberInfinity(max)
|
||||
];
|
||||
|
||||
if (options?.LIMIT) {
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import { RedisCommandArguments } from '.';
|
||||
import { transformArgumentNumberInfinity } from './generic-transformers';
|
||||
import { transformArgumentStringNumberInfinity } from './generic-transformers';
|
||||
|
||||
export const FIRST_KEY_INDEX = 1;
|
||||
|
||||
@@ -21,8 +21,8 @@ export function transformArguments(
|
||||
const args = [
|
||||
'ZRANGEBYSCORE',
|
||||
key,
|
||||
typeof min === 'string' ? min : transformArgumentNumberInfinity(min),
|
||||
typeof max === 'string' ? max : transformArgumentNumberInfinity(max)
|
||||
transformArgumentStringNumberInfinity(min),
|
||||
transformArgumentStringNumberInfinity(max)
|
||||
];
|
||||
|
||||
if (options?.LIMIT) {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { transformArgumentNumberInfinity } from './generic-transformers';
|
||||
import { transformArgumentStringNumberInfinity } from './generic-transformers';
|
||||
|
||||
export const FIRST_KEY_INDEX = 1;
|
||||
|
||||
@@ -12,13 +12,19 @@ interface ZRangeStoreOptions {
|
||||
WITHSCORES?: true;
|
||||
}
|
||||
|
||||
export function transformArguments(dst: string, src: string, min: number, max: number, options?: ZRangeStoreOptions): Array<string> {
|
||||
export function transformArguments(
|
||||
dst: string,
|
||||
src: string,
|
||||
min: string | number,
|
||||
max: string | number,
|
||||
options?: ZRangeStoreOptions
|
||||
): Array<string> {
|
||||
const args = [
|
||||
'ZRANGESTORE',
|
||||
dst,
|
||||
src,
|
||||
transformArgumentNumberInfinity(min),
|
||||
transformArgumentNumberInfinity(max)
|
||||
transformArgumentStringNumberInfinity(min),
|
||||
transformArgumentStringNumberInfinity(max)
|
||||
];
|
||||
|
||||
switch (options?.BY) {
|
||||
|
@@ -7,6 +7,7 @@ import {
|
||||
transformReplyNumberInfinityArray,
|
||||
transformReplyNumberInfinityNull,
|
||||
transformArgumentNumberInfinity,
|
||||
transformArgumentStringNumberInfinity,
|
||||
transformReplyTuples,
|
||||
transformReplyStreamMessages,
|
||||
transformReplyStreamsMessages,
|
||||
@@ -175,6 +176,22 @@ describe('Generic Transformers', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('transformArgumentStringNumberInfinity', () => {
|
||||
it("'0.5'", () => {
|
||||
assert.equal(
|
||||
transformArgumentStringNumberInfinity('0.5'),
|
||||
'0.5'
|
||||
);
|
||||
});
|
||||
|
||||
it('0.5', () => {
|
||||
assert.equal(
|
||||
transformArgumentStringNumberInfinity(0.5),
|
||||
'0.5'
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it('transformReplyTuples', () => {
|
||||
assert.deepEqual(
|
||||
transformReplyTuples(['key1', 'value1', 'key2', 'value2']),
|
||||
|
@@ -69,6 +69,12 @@ export function transformArgumentNumberInfinity(num: number): string {
|
||||
}
|
||||
}
|
||||
|
||||
export function transformArgumentStringNumberInfinity(num: string | number): string {
|
||||
if (typeof num === 'string') return num;
|
||||
|
||||
return transformArgumentNumberInfinity(num);
|
||||
}
|
||||
|
||||
export interface TuplesObject {
|
||||
[field: string]: string;
|
||||
}
|
||||
|
Reference in New Issue
Block a user