packages/client/lib/commands/BRPOP.spec.ts
import { strict as assert } from 'node:assert';
import testUtils, { GLOBAL, BLOCKING_MIN_VALUE } from '../test-utils';
import BRPOP from './BRPOP';
import { parseArgs } from './generic-transformers';
describe('BRPOP', () => {
describe('transformArguments', () => {
it('single', () => {
assert.deepEqual(
parseArgs(BRPOP, 'key', 0),
['BRPOP', 'key', '0']
);
});
it('multiple', () => {
assert.deepEqual(
parseArgs(BRPOP, ['1', '2'], 0),
['BRPOP', '1', '2', '0']
);
});
});
testUtils.testAll('brPop - null', async client => {
assert.equal(
await client.brPop('key', BLOCKING_MIN_VALUE),
null
);
}, {
client: GLOBAL.SERVERS.OPEN,
cluster: GLOBAL.CLUSTERS.OPEN
});
testUtils.testAll('brPopblPop - with member', async client => {
const [, reply] = await Promise.all([
client.lPush('key', 'element'),
client.brPop('key', 1)
]);
assert.deepEqual(reply, {
key: 'key',
element: 'element'
});
}, {
client: GLOBAL.SERVERS.OPEN,
cluster: GLOBAL.CLUSTERS.OPEN
});
});