it('deletes multiple keys', () => { const orchard = new Orchard(); const keyA = `k:${uuid.v6()}`; const keyB = `k:${uuid.v6()}`; const value = { x: uuid.v4() }; return Promise.all([ orchard(keyA, value), orchard(keyB, value) ]) .then(() => orchard.del('k:*')) .then(() => { expect(redisClient.del.callCount).to.equal(2); const argsA = redisClient.del.getCall(0).args; expect(argsA[0]).to.equal(keyA); const argsB = redisClient.del.getCall(1).args; expect(argsB[0]).to.equal(keyB); }); });
it('accepts a "scanCount" option', () => { const orchard = new Orchard({ scanCount: 1 }); const keyA = `k:${uuid.v6()}`; const keyB = `k:${uuid.v6()}`; const value = { x: uuid.v4() }; return Promise.all([ orchard(keyA, value), orchard(keyB, value) ]) .then(() => orchard.del('k:*')) .then(() => { expect(redisClient.scan.callCount).to.equal(2); }); });
it('returns the count after deleting a single key', () => { const orchard = new Orchard(); const keyA = `k:${uuid.v6()}`; const keyB = `k:${uuid.v6()}`; const value = { x: uuid.v4() }; return Promise.all([ orchard(keyA, value), orchard(keyB, value) ]) .then(() => orchard.del('k:*')) .then((out) => { expect(out).to.equal(2); }); });