You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
fix reply parshing
This commit is contained in:
@@ -4,7 +4,7 @@ import { transformArguments } from './COMMAND_DOCS';
|
||||
|
||||
describe('COMMAND DOCS', () => {
|
||||
testUtils.isVersionGreaterThanHook([7, 0]);
|
||||
|
||||
|
||||
it('transformArguments', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('SORT'),
|
||||
@@ -13,18 +13,35 @@ describe('COMMAND DOCS', () => {
|
||||
});
|
||||
|
||||
testUtils.testWithClient('client.commandDocs', async client => {
|
||||
assert.deepEqual(
|
||||
await client.commandDocs('sort'),
|
||||
[[
|
||||
'sort',
|
||||
{
|
||||
summary: 'Sort the elements in a list, set or sorted set',
|
||||
since: '1.0.0',
|
||||
group: 'generic',
|
||||
complexity: 'O(N+M*log(M)) where N is the number of elements in the list or set to sort, and M the number of returned elements. When the elements are not sorted, complexity is O(N).',
|
||||
history: null
|
||||
const docs = await client.commandDocs()
|
||||
assert.equal(typeof docs, 'object');
|
||||
|
||||
for (const item of Object.values(docs)) {
|
||||
if (item.summary) assert.equal(typeof item.summary, 'string');
|
||||
if (item.since) assert.equal(typeof item.since, 'string');
|
||||
if (item.group) assert.equal(typeof item.group, 'string');
|
||||
if (item.complexity) assert.equal(typeof item.complexity, 'string');
|
||||
if (item.history) assert.ok(Array.isArray(item.history));
|
||||
if (item.arguments) {
|
||||
assert.equal(typeof item.arguments, 'object');
|
||||
for (const argument of Object.values(item.arguments)) {
|
||||
if (argument.keySpecIndex) assert.equal(typeof argument.keySpecIndex, 'number');
|
||||
if (argument.type) assert.equal(typeof argument.type, 'string');
|
||||
if (argument.token) assert.equal(typeof argument.token, 'string');
|
||||
if (argument.summary) assert.equal(typeof argument.summary, 'string');
|
||||
if (argument.flags) assert.ok(Array.isArray(argument.flags));
|
||||
}
|
||||
]]
|
||||
);
|
||||
}
|
||||
if (item.subCommands) assert.equal(typeof item.subCommands, 'object');
|
||||
}
|
||||
|
||||
// check with commands names
|
||||
const specifiedDocs = await client.commandDocs('sort', 'get', 'cluster')
|
||||
assert.equal(typeof specifiedDocs, 'object');
|
||||
|
||||
// check with non existing command
|
||||
const nonExistingCommandDocs = await client.commandDocs('foo')
|
||||
assert.equal(typeof specifiedDocs, 'object');
|
||||
|
||||
}, GLOBAL.SERVERS.OPEN);
|
||||
});
|
||||
|
Reference in New Issue
Block a user