packages/client/lib/commands/ZMPOP.spec.ts
import { strict as assert } from 'node:assert';
import testUtils, { GLOBAL } from '../test-utils';
import ZMPOP from './ZMPOP';
import { parseArgs } from './generic-transformers';
describe('ZMPOP', () => {
testUtils.isVersionGreaterThanHook([7]);
describe('transformArguments', () => {
it('simple', () => {
assert.deepEqual(
parseArgs(ZMPOP, 'key', 'MIN'),
['ZMPOP', '1', 'key', 'MIN']
);
});
it('with count', () => {
assert.deepEqual(
parseArgs(ZMPOP, 'key', 'MIN', {
COUNT: 2
}),
['ZMPOP', '1', 'key', 'MIN', 'COUNT', '2']
);
});
});
testUtils.testAll('zmPop - null', async client => {
assert.equal(
await client.zmPop('key', 'MIN'),
null
);
}, {
client: GLOBAL.SERVERS.OPEN,
cluster: GLOBAL.CLUSTERS.OPEN
});
testUtils.testAll('zmPop - with members', async client => {
const members = [{
value: '1',
score: 1
}];
const [, reply] = await Promise.all([
client.zAdd('key', members),
client.zmPop('key', 'MIN')
]);
assert.deepEqual(reply, {
key: 'key',
members
});
}, {
client: GLOBAL.SERVERS.OPEN,
cluster: GLOBAL.CLUSTERS.OPEN
});
});