Skip to content

Commit 177d3c1

Browse files
committed
Fix tests
1 parent 4677d28 commit 177d3c1

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

web/src/app/api/v1/chat/completions/__tests__/free-mode-rate-limiter.test.ts

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,10 @@ describe('free-mode-rate-limiter', () => {
4747
})
4848

4949
it('limits when per-second limit is exceeded', () => {
50-
makeRequests('user-1', FREE_MODE_RATE_LIMITS.PER_SECOND)
50+
// Make all requests within the same second (no time advancement)
51+
for (let i = 0; i < FREE_MODE_RATE_LIMITS.PER_SECOND; i++) {
52+
expect(checkFreeModeRateLimit('user-1').limited).toBe(false)
53+
}
5154

5255
const result = checkFreeModeRateLimit('user-1')
5356
expect(result.limited).toBe(true)
@@ -57,7 +60,9 @@ describe('free-mode-rate-limiter', () => {
5760
})
5861

5962
it('resets per-second window after expiry', () => {
60-
makeRequests('user-1', FREE_MODE_RATE_LIMITS.PER_SECOND)
63+
for (let i = 0; i < FREE_MODE_RATE_LIMITS.PER_SECOND; i++) {
64+
checkFreeModeRateLimit('user-1')
65+
}
6166
expect(checkFreeModeRateLimit('user-1').limited).toBe(true)
6267

6368
advanceTime(1 * SECOND_MS + 1)
@@ -104,8 +109,8 @@ describe('free-mode-rate-limiter', () => {
104109
}
105110
}
106111

107-
// Advance past the 1-second window so the per-30-minute window is the one that triggers
108-
advanceTime(1 * SECOND_MS + 1)
112+
// Advance past the 1-minute window so the per-30-minute window is the one that triggers
113+
advanceTime(1 * MINUTE_MS + 1)
109114

110115
const result = checkFreeModeRateLimit('user-1')
111116
expect(result.limited).toBe(true)
@@ -250,7 +255,9 @@ describe('free-mode-rate-limiter', () => {
250255
})
251256

252257
it('retryAfterMs is never negative', () => {
253-
makeRequests('user-1', FREE_MODE_RATE_LIMITS.PER_SECOND)
258+
for (let i = 0; i < FREE_MODE_RATE_LIMITS.PER_SECOND; i++) {
259+
checkFreeModeRateLimit('user-1')
260+
}
254261

255262
const result = checkFreeModeRateLimit('user-1')
256263
expect(result.limited).toBe(true)
@@ -281,7 +288,9 @@ describe('free-mode-rate-limiter', () => {
281288

282289
describe('resetFreeModeRateLimits', () => {
283290
it('clears all rate limit state', () => {
284-
makeRequests('user-1', FREE_MODE_RATE_LIMITS.PER_SECOND)
291+
for (let i = 0; i < FREE_MODE_RATE_LIMITS.PER_SECOND; i++) {
292+
checkFreeModeRateLimit('user-1')
293+
}
285294
expect(checkFreeModeRateLimit('user-1').limited).toBe(true)
286295

287296
resetFreeModeRateLimits()
@@ -291,8 +300,10 @@ describe('free-mode-rate-limiter', () => {
291300
})
292301

293302
it('clears state for all users', () => {
294-
makeRequests('user-1', FREE_MODE_RATE_LIMITS.PER_SECOND)
295-
makeRequests('user-2', FREE_MODE_RATE_LIMITS.PER_SECOND)
303+
for (let i = 0; i < FREE_MODE_RATE_LIMITS.PER_SECOND; i++) {
304+
checkFreeModeRateLimit('user-1')
305+
checkFreeModeRateLimit('user-2')
306+
}
296307

297308
expect(checkFreeModeRateLimit('user-1').limited).toBe(true)
298309
expect(checkFreeModeRateLimit('user-2').limited).toBe(true)

0 commit comments

Comments
 (0)