UNPKG

@dbs-portal/tool-mock

Version:

API mocking toolkit using MSW for DBS Portal development workflows

110 lines 4.09 kB
/** * Response builder for creating mock HTTP responses */ import type { ApiError } from '@dbs-portal/core-shared'; import type { MockResponseBuilder, ResponseBuilderOptions, MockResponseMetadata } from './types'; /** * Implementation of mock response builder */ export declare class MockResponseBuilderImpl<T = any> implements MockResponseBuilder<T> { private responseData; private statusCode; private responseHeaders; private responseDelay?; private responseError?; private metadata; constructor(options?: ResponseBuilderOptions<T>); /** * Set response data */ data(data: T): MockResponseBuilder<T>; /** * Set status code */ status(code: number): MockResponseBuilder<T>; /** * Set headers */ headers(headers: Record<string, string>): MockResponseBuilder<T>; /** * Set delay */ delay(ms: number | [number, number]): MockResponseBuilder<T>; /** * Add error */ error(error: ApiError): MockResponseBuilder<T>; /** * Set metadata */ meta(metadata: Partial<MockResponseMetadata>): MockResponseBuilder<T>; /** * Build the response */ build(): Response; /** * Build with async delay */ buildAsync(): Promise<Response>; } /** * Create a new response builder */ export declare function mockResponseBuilder<T = any>(options?: ResponseBuilderOptions<T>): MockResponseBuilder<T>; /** * Create a success response */ export declare function createSuccessResponse<T = any>(data: T, options?: Partial<ResponseBuilderOptions<T>>): Response; /** * Create an error response */ export declare function createErrorResponse(error: ApiError, options?: Partial<ResponseBuilderOptions>): Response; /** * Create a loading response (with delay) */ export declare function createLoadingResponse<T = any>(data: T, delay?: number | [number, number], options?: Partial<ResponseBuilderOptions<T>>): MockResponseBuilder<T>; /** * Create a not found response */ export declare function createNotFoundResponse(message?: string, options?: Partial<ResponseBuilderOptions>): Response; /** * Create an unauthorized response */ export declare function createUnauthorizedResponse(message?: string, options?: Partial<ResponseBuilderOptions>): Response; /** * Create a forbidden response */ export declare function createForbiddenResponse(message?: string, options?: Partial<ResponseBuilderOptions>): Response; /** * Create a validation error response */ export declare function createValidationErrorResponse(errors: string[] | Record<string, string[]>, message?: string, options?: Partial<ResponseBuilderOptions>): Response; /** * Create a server error response */ export declare function createServerErrorResponse(message?: string, options?: Partial<ResponseBuilderOptions>): Response; /** * Create a rate limit response */ export declare function createRateLimitResponse(message?: string, retryAfter?: number, options?: Partial<ResponseBuilderOptions>): Response; /** * Create a maintenance response */ export declare function createMaintenanceResponse(message?: string, retryAfter?: number, options?: Partial<ResponseBuilderOptions>): Response; /** * Create a response with custom status and message */ export declare function createCustomResponse<T = any>(status: number, data?: T, error?: ApiError, options?: Partial<ResponseBuilderOptions<T>>): Response; /** * Create a response that simulates network conditions */ export declare function createNetworkResponse<T = any>(data: T, networkCondition?: 'fast' | 'slow' | 'unstable', options?: Partial<ResponseBuilderOptions<T>>): MockResponseBuilder<T>; /** * Create a response with cache headers */ export declare function createCachedResponse<T = any>(data: T, cacheControl?: string, options?: Partial<ResponseBuilderOptions<T>>): Response; /** * Create a response with CORS headers */ export declare function createCorsResponse<T = any>(data: T, origin?: string, options?: Partial<ResponseBuilderOptions<T>>): Response; //# sourceMappingURL=response-builder.d.ts.map