@@ -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