import { RateLimitTimeoutError, HostexApiError } from '../utils/error'; describe('RateLimitTimeoutError', () => { it('extends HostexApiError', () => { const error = new RateLimitTimeoutError('conversations', 30000); expect(error).toBeInstanceOf(HostexApiError); expect(error).toBeInstanceOf(RateLimitTimeoutError); }); it('has correct properties', () => { const error = new RateLimitTimeoutError('conversations', 30000); expect(error.name).toBe('RateLimitTimeoutError'); expect(error.endpointCategory).toBe('conversations'); expect(error.timeoutMs).toBe(30000); expect(error.statusCode).toBe(429); expect(error.message).toContain('conversations'); expect(error.message).toContain('30000'); }); it('isRateLimitError returns true', () => { const error = new RateLimitTimeoutError('listings', 5000); expect(error.isRateLimitError()).toBe(true); }); });