import { describe, expect, it } from 'vitest'; import { useTestApp } from './helpers'; const app = useTestApp({ rateLimits: true }); describe('rate limits', () => { it('throttles login attempts per client', async () => { const attempt = () => app().inject({ method: 'POST', url: '/auth/login', payload: { email: 'a@b.co', password: 'x' } }); const codes = []; for (let i = 0; i < 11; i++) codes.push((await attempt()).statusCode); expect(codes.slice(0, 10).every((c) => c === 401)).toBe(true); expect(codes[10]).toBe(429); }); });