From 3127531a46fa7e755dd933c5efe40f9821b09557 Mon Sep 17 00:00:00 2001 From: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> Date: Wed, 5 Apr 2023 13:32:18 -0500 Subject: [PATCH] fix: finish bucket file coverage (#2968) * fix: finish bucket file coverage * Update packages/utils/tests/bucket.spec.ts Co-authored-by: Jonathan Ho --------- Co-authored-by: Jonathan Ho --- packages/utils/tests/bucket.spec.ts | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) 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(); + }) }) })