diff --git a/packages/utils/tests/bucket.spec.ts b/packages/utils/tests/bucket.spec.ts index 4a97bf185..98ac27037 100644 --- a/packages/utils/tests/bucket.spec.ts +++ b/packages/utils/tests/bucket.spec.ts @@ -77,7 +77,7 @@ describe('bucket.ts', () => { refillAmount: 120, }) - await bucket.acquire() + await bucket.acquire(true) expect(bucket.remaining).to.be.equal(119) expect(bucket.used).to.be.equal(1) }) @@ -169,5 +169,30 @@ describe('bucket.ts', () => { expect(bucket.remaining).equals(0) expect(bucket.used).equals(1) }) + + describe('remaining', () => { + it("should be 0 even used too many", () => { + const bucket = new LeakyBucket({ + max: 1, + refillInterval: 500, + refillAmount: 1, + }) + // max is < used + bucket.used = 2; + expect(bucket.remaining).equals(0); + }) + }) + + it("Don't process queue twice", () => { + const bucket = new LeakyBucket({ + max: 1, + refillInterval: 500, + refillAmount: 1, + }) + // fake processing + bucket.processing = true; + // request when already processing + bucket.processQueue(); + }) }) })