/** * API Response Mocks for Testing * * SMI-1583: Partial and edge-case API response fixtures for comprehensive testing. * * IMPORTANT: These mocks match the actual API types from packages/core/src/api/types.ts * * These mocks cover: * - Successful responses * - Partial/incomplete data * - Error responses * - Rate limiting scenarios * - Edge cases (empty results, pagination, etc.) */ import type { SearchResponse, SearchResponseMeta, RecommendResponse, RecommendResponseMeta, SkillResponse, HealthStatus, ApiErrorResponse, RateLimitInfo, ApiSkill, ApiSearchResult, RecommendedSkill } from '../../../src/api/types.js'; export interface MockResponse { status: number; headers: Record; body: T; } export declare const MOCK_SKILL: ApiSkill; export declare const MOCK_SEARCH_RESULT: ApiSearchResult; export declare const MOCK_SEARCH_META: SearchResponseMeta; export declare const MOCK_SEARCH_SUCCESS: MockResponse; export declare const MOCK_RECOMMENDED_SKILL: RecommendedSkill; export declare const MOCK_RECOMMEND_META: RecommendResponseMeta; export declare const MOCK_RECOMMEND_SUCCESS: MockResponse; export declare const MOCK_SKILL_RESPONSE: MockResponse; export declare const MOCK_HEALTH_SUCCESS: MockResponse; /** * Skill with minimal fields (edge case for optional field handling) */ export declare const MOCK_SKILL_MINIMAL: ApiSkill; /** * Search response with empty results */ export declare const MOCK_SEARCH_EMPTY: MockResponse; /** * Search response with partial skill data (missing optional fields) */ export declare const MOCK_SEARCH_PARTIAL: MockResponse; /** * Recommend response with no recommendations */ export declare const MOCK_RECOMMEND_EMPTY: MockResponse; /** * Paginated response (offset 20 of 50 total) */ export declare const MOCK_SEARCH_PAGINATED: MockResponse; export declare const MOCK_ERROR_NOT_FOUND: MockResponse; export declare const MOCK_ERROR_VALIDATION: MockResponse; export declare const MOCK_ERROR_UNAUTHORIZED: MockResponse; export declare const MOCK_ERROR_FORBIDDEN: MockResponse; export declare const MOCK_ERROR_SERVER: MockResponse; export declare const MOCK_ERROR_SERVICE_UNAVAILABLE: MockResponse; export declare const MOCK_RATE_LIMIT_INFO: RateLimitInfo; export declare const MOCK_ERROR_RATE_LIMITED: MockResponse; export declare const MOCK_RATE_LIMIT_WARNING: MockResponse; /** * Simulates a slow response (for timeout testing) */ export declare const MOCK_SLOW_RESPONSE_DELAY_MS = 5000; /** * Simulates a partial response (connection closed mid-stream) */ export declare const MOCK_PARTIAL_JSON = "{\"data\": [{\"id\": \"partial/skill\""; /** * Simulates malformed JSON response */ export declare const MOCK_MALFORMED_JSON = "{\"data\": [invalid json here]}"; /** * Simulates HTML error page (proxy/server misconfiguration) */ export declare const MOCK_HTML_ERROR_RESPONSE = "\n\n\n502 Bad Gateway\n

502 Bad Gateway

\n\n"; /** * Create a mock fetch Response object */ export declare function createMockResponse(mock: MockResponse): Response; /** * Create a mock fetch function that returns a specific response */ export declare function createMockFetch(mock: MockResponse): typeof fetch; /** * Create a mock fetch that fails with a network error */ export declare function createNetworkErrorFetch(message?: string): typeof fetch; /** * Create a mock fetch that times out */ export declare function createTimeoutFetch(delayMs?: number): typeof fetch; /** * Create a mock fetch that returns responses in sequence */ export declare function createSequentialFetch(responses: MockResponse[]): typeof fetch; export declare const API_MOCKS: { searchSuccess: MockResponse; recommendSuccess: MockResponse; skillResponse: MockResponse; healthSuccess: MockResponse; searchEmpty: MockResponse; searchPartial: MockResponse; searchPaginated: MockResponse; recommendEmpty: MockResponse; skillMinimal: ApiSkill; errorNotFound: MockResponse; errorValidation: MockResponse; errorUnauthorized: MockResponse; errorForbidden: MockResponse; errorServer: MockResponse; errorServiceUnavailable: MockResponse; errorRateLimited: MockResponse; rateLimitWarning: MockResponse; rateLimitInfo: RateLimitInfo; partialJson: string; malformedJson: string; htmlError: string; }; export default API_MOCKS; //# sourceMappingURL=index.d.ts.map