UNPKG

guardz-axios

Version:

Type-safe HTTP client built on top of Axios with runtime validation using guardz. Part of the guardz ecosystem for comprehensive TypeScript type safety.

81 lines 2.39 kB
"use strict"; /** * Global test setup * Configures Jest environment and global test utilities */ Object.defineProperty(exports, "__esModule", { value: true }); exports.testUtils = void 0; // Increase timeout for all tests jest.setTimeout(10000); // Suppress console output during tests const originalConsole = { error: console.error, warn: console.warn, info: console.info, debug: console.debug, log: console.log, }; beforeAll(() => { // Only suppress if not in debug mode if (process.env.NODE_ENV !== "test-debug") { console.error = jest.fn(); console.warn = jest.fn(); console.info = jest.fn(); console.debug = jest.fn(); console.log = jest.fn(); } }); afterAll(() => { console.error = originalConsole.error; console.warn = originalConsole.warn; console.info = originalConsole.info; console.debug = originalConsole.debug; console.log = originalConsole.log; }); // Global test utilities global.testUtils = { // Create a mock HTTP client for testing createMockHttpClient: (responses = {}) => ({ request: jest.fn().mockImplementation((config) => { const key = `${config.method}_${config.url}`; const response = responses[key]; if (response) { return Promise.resolve(response); } // Default success response return Promise.resolve({ data: { id: 1, name: "Test User" }, status: 200, statusText: "OK", headers: {}, config, }); }), }), // Create a mock logger for testing createMockLogger: () => ({ error: jest.fn(), warn: jest.fn(), info: jest.fn(), debug: jest.fn(), }), // Wait for a specified number of milliseconds wait: (ms) => new Promise((resolve) => setTimeout(resolve, ms)), // Create test data createTestUser: () => ({ id: 1, name: "Test User", email: "test@example.com", }), // Create test error createTestError: (message, code) => { const error = new Error(message); if (code) { error.code = code; } return error; }, }; // Export test utilities for use in tests exports.testUtils = global.testUtils; //# sourceMappingURL=setup.js.map