| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- /**
- * HTTP Client Module Test Setup
- *
- * This file provides setup and utilities for HTTP client module testing,
- * including mock configurations and test helpers.
- */
- import { jest } from '@jest/globals'
- // Mock credential manager for tests
- jest.mock('@/core/credential-manager', () => ({
- CredentialManager: jest.fn(),
- SignerFactory: {
- createSigner: jest.fn()
- },
- PlatformDetector: {
- detectPlatform: jest.fn()
- }
- }))
- // Mock external dependencies
- jest.mock('https-proxy-agent', () => ({
- HttpsProxyAgent: jest.fn()
- }))
- jest.mock('winston', () => ({
- createLogger: jest.fn(() => ({
- info: jest.fn(),
- error: jest.fn(),
- warn: jest.fn(),
- debug: jest.fn()
- })),
- format: {
- combine: jest.fn(),
- timestamp: jest.fn(),
- json: jest.fn()
- },
- transports: {
- Console: jest.fn(),
- File: jest.fn()
- }
- }))
- // Global test utilities
- global.testUtils = {
- // Mock HTTP response
- mockHttpResponse: (data: any, status = 200) => ({
- status,
- statusText: status >= 200 && status < 300 ? 'OK' : 'Error',
- ok: status >= 200 && status < 300,
- data,
- headers: new Headers({ 'content-type': 'application/json' })
- }),
- // Mock platform request
- mockPlatformRequest: (platform: string, accountId: string) => ({
- platform,
- accountId,
- method: 'GET' as const,
- url: '/api/test',
- headers: {},
- options: {}
- }),
- // Mock authentication context
- mockAuthContext: (platform: string) => ({
- accountId: 'test-account',
- platform,
- authType: 'signature' as const,
- isValid: true,
- lastRefresh: new Date(),
- failureCount: 0
- })
- }
- // Extend global types for test utilities
- declare global {
- var testUtils: {
- mockHttpResponse: (data: any, status?: number) => any
- mockPlatformRequest: (platform: string, accountId: string) => any
- mockAuthContext: (platform: string) => any
- }
- }
- export {}
|