react-antd-admin-panel
Version:
Modern TypeScript-first React admin panel builder with Ant Design 6
76 lines • 2.06 kB
TypeScript
/**
* createMockHttp - Mock HTTP request utility for testing
*
* Provides a fluent API for mocking Get/Post requests with configurable responses.
*
* @example
* const mockHttp = createMockHttp()
* .onGet('/api/users', { data: mockUsers })
* .onPost('/api/users', { data: newUser })
* .onGet('/api/error', { error: new Error('Failed') });
*
* // Use in tests
* await mockHttp.get('/api/users'); // Returns { data: mockUsers }
*/
export interface MockResponse<T = any> {
/** Response data */
data?: T;
/** Error to throw */
error?: Error;
/** Delay in ms before responding */
delay?: number;
/** HTTP status code (default 200) */
status?: number;
}
export interface MockHttpConfig {
/** Default delay for all requests */
defaultDelay?: number;
}
type RequestHandler = (url: string, params?: Record<string, any>) => Promise<any>;
/**
* MockHttp - Chainable mock HTTP handler
*/
export declare class MockHttp {
private _getHandlers;
private _postHandlers;
private _defaultDelay;
constructor(config?: MockHttpConfig);
/**
* Register a mock GET response
*/
onGet<T = any>(url: string, response: MockResponse<T>): this;
/**
* Register a mock POST response
*/
onPost<T = any>(url: string, response: MockResponse<T>): this;
/**
* Clear all registered handlers
*/
clear(): this;
/**
* Get the mock GET handler function
*/
get: RequestHandler;
/**
* Get the mock POST handler function
*/
post: RequestHandler;
/**
* Internal request handler
*/
private _handleRequest;
/**
* Get all registered GET handlers (for inspection in tests)
*/
getRegisteredGetHandlers(): string[];
/**
* Get all registered POST handlers (for inspection in tests)
*/
getRegisteredPostHandlers(): string[];
}
/**
* Create a new MockHttp instance
*/
export declare function createMockHttp(config?: MockHttpConfig): MockHttp;
export {};
//# sourceMappingURL=createMockHttp.d.ts.map