{"version":3,"file":"test-utils.mjs","sourceRoot":"","sources":["../../src/api/test-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,6BAA6B;AAEnD,OAAO,EAAE,iBAAiB,EAAE,gCAA4B;AAExD,sBAAsB;AACtB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAClC,UAAuD,CAAC,KAAK,GAAG,SAAS,CAAC;AAE3E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAkB,EAClB,MAAM,GAAG,GAAG,EACZ,UAAU,GAAG,IAAI,EACP,EAAE,CACZ,CAAC;IACC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;IACjC,MAAM;IACN,UAAU;IACV,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;IACvC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;IAC3B,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;IAChB,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;IACtB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;IACf,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;IACnB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;CAChB,CAAwB,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,iBAAiB,CAAC;QAC3B,aAAa,EAAE,aAAa;QAC5B,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,IAAI,WAAW,CAAC;YAC3B,cAAc,EAAE;gBACd,OAAO,EAAE;oBACP,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,CAAC;iBACb;aACF;SACF,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,CAAC,aAAa,EAAE,CAAC;IACrB,SAAS,CAAC,SAAS,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAC;AACxC,CAAC","sourcesContent":["/**\n * Shared test utilities for API client tests.\n */\n\nimport { QueryClient } from '@tanstack/query-core';\n\nimport { ApiPlatformClient } from './ApiPlatformClient';\n\n// Mock fetch globally\nexport const mockFetch = jest.fn();\n(globalThis as typeof globalThis & { fetch: jest.Mock }).fetch = mockFetch;\n\n/**\n * Helper to create a mock Response.\n *\n * @param data - The response data to return from json().\n * @param status - HTTP status code.\n * @param statusText - HTTP status text.\n * @returns A mocked Response object.\n */\nexport const createMockResponse = <ResponseData>(\n  data: ResponseData,\n  status = 200,\n  statusText = 'OK',\n): Response =>\n  ({\n    ok: status >= 200 && status < 300,\n    status,\n    statusText,\n    json: jest.fn().mockResolvedValue(data),\n    headers: { get: jest.fn() },\n    redirected: false,\n    type: 'basic',\n    url: '',\n    clone: jest.fn(),\n    body: null,\n    bodyUsed: false,\n    arrayBuffer: jest.fn(),\n    blob: jest.fn(),\n    formData: jest.fn(),\n    text: jest.fn(),\n  }) as unknown as Response;\n\n/**\n * Creates a fresh ApiPlatformClient for testing with disabled caching/retry.\n *\n * @returns A new ApiPlatformClient instance configured for testing.\n */\nexport function createTestClient(): ApiPlatformClient {\n  return new ApiPlatformClient({\n    clientProduct: 'test-client',\n    clientVersion: '1.0.0',\n    queryClient: new QueryClient({\n      defaultOptions: {\n        queries: {\n          retry: false,\n          gcTime: 0,\n          staleTime: 0,\n        },\n      },\n    }),\n  });\n}\n\n/**\n * Setup function to be called in beforeEach.\n *\n * @returns An object containing a fresh test client.\n */\nexport function setupTestEnvironment(): { client: ApiPlatformClient } {\n  jest.clearAllMocks();\n  mockFetch.mockReset();\n  return { client: createTestClient() };\n}\n"]}