-
Notifications
You must be signed in to change notification settings - Fork 2k
Expand file tree
/
Copy pathZSCAN.spec.ts
More file actions
73 lines (67 loc) · 1.59 KB
/
Copy pathZSCAN.spec.ts
File metadata and controls
73 lines (67 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import { strict as assert } from 'node:assert';
import testUtils, { GLOBAL } from '../test-utils';
import { RESP_TYPES } from '../RESP/decoder';
import { parseArgs } from './generic-transformers';
import ZSCAN from './ZSCAN';
describe('ZSCAN', () => {
describe('transformArguments', () => {
it('cusror only', () => {
assert.deepEqual(
parseArgs(ZSCAN, 'key', '0'),
['ZSCAN', 'key', '0']
);
});
it('with MATCH', () => {
assert.deepEqual(
parseArgs(ZSCAN, 'key', '0', {
MATCH: 'pattern'
}),
['ZSCAN', 'key', '0', 'MATCH', 'pattern']
);
});
it('with COUNT', () => {
assert.deepEqual(
parseArgs(ZSCAN, 'key', '0', {
COUNT: 1
}),
['ZSCAN', 'key', '0', 'COUNT', '1']
);
});
it('with MATCH & COUNT', () => {
assert.deepEqual(
parseArgs(ZSCAN, 'key', '0', {
MATCH: 'pattern',
COUNT: 1
}),
['ZSCAN', 'key', '0', 'MATCH', 'pattern', 'COUNT', '1']
);
});
});
testUtils.testWithClient('zScan', async client => {
assert.deepEqual(
await client.zScan('key', '0'),
{
cursor: '0',
members: []
}
);
}, GLOBAL.SERVERS.OPEN);
it('transformReply with type mapping', () => {
assert.deepEqual(
ZSCAN.transformReply(
['0', ['member', '1.5']],
undefined,
{
[RESP_TYPES.DOUBLE]: String
}
),
{
cursor: '0',
members: [{
value: 'member',
score: '1.5'
}]
}
);
});
});