/** * Shared Route Test Utilities * Eliminates duplication in route testing patterns * Provides parameterized test generation for common HTTP route scenarios */ /** * Route test configuration */ export interface RouteTestConfig { /** HTTP method (GET, POST, etc.) */ method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; /** Route path */ path: string; /** Test description */ description?: string; /** Success response data */ successResponse?: any; /** Success status code */ successStatus?: number; /** Error response data */ errorResponse?: any; /** Error status code */ errorStatus?: number; /** Custom route handler */ customHandler?: (req: any, res: any) => void; } /** * Test result interface */ export interface TestResult { status: number; body: any; headers: any; } /** * Create a standardized success response */ declare function createSuccessResponse(data?: any, status?: number): (req: any, res: any) => void; /** * Create a standardized error response */ declare function createErrorResponse(errorMsg?: string, status?: number): (req: any, res: any) => void; /** * Execute a test request and return result */ declare function executeRequest(config: RouteTestConfig, app: any): Promise; /** * Execute an error test request and return result */ declare function executeErrorRequest(config: RouteTestConfig, app: any): Promise; /** * Generate comprehensive route tests * * @param config - Route test configuration * @returns Jest test suite description */ export declare function createRouteTests(config: RouteTestConfig): void; /** * Create a simple GET route test */ export declare function createGetRouteTest(path: string, successResponse?: any, errorResponse?: string): void; /** * Create a simple POST route test */ export declare function createPostRouteTest(path: string, successResponse?: any, errorResponse?: string): void; /** * Create a simple PUT route test */ export declare function createPutRouteTest(path: string, successResponse?: any, errorResponse?: string): void; /** * Create a simple DELETE route test */ export declare function createDeleteRouteTest(path: string, successResponse?: any, errorResponse?: string): void; /** * Generate tests for multiple routes */ export declare function createMultipleRouteTests(configs: RouteTestConfig[]): void; /** * Generate tests for a REST API resource */ export declare function createResourceTests(basePath: string, resourceName: string): void; /** * Route test utilities interface */ export declare const routeTestUtils: { create: typeof createRouteTests; createGet: typeof createGetRouteTest; createPost: typeof createPostRouteTest; createPut: typeof createPutRouteTest; createDelete: typeof createDeleteRouteTest; createMultiple: typeof createMultipleRouteTests; createResource: typeof createResourceTests; createSuccessResponse: typeof createSuccessResponse; createErrorResponse: typeof createErrorResponse; executeRequest: typeof executeRequest; executeErrorRequest: typeof executeErrorRequest; }; export default routeTestUtils; //# sourceMappingURL=routeTestUtils.d.ts.map