import { afterEach, describe, expect, it, vi } from 'vitest'; import { getApiBaseUrl } from './client'; describe('getApiBaseUrl', () => { afterEach(() => { delete window.__APP_CONFIG__; vi.unstubAllEnvs(); }); it('uses runtime-config API base URL when present', () => { window.__APP_CONFIG__ = { API_BASE_URL: 'http://runtime.example' }; vi.stubEnv('VITE_API_BASE_URL', 'http://env.example'); expect(getApiBaseUrl()).toBe('http://runtime.example'); }); it('falls back to VITE_API_BASE_URL when runtime-config is missing', () => { vi.stubEnv('VITE_API_BASE_URL', 'http://env.example'); expect(getApiBaseUrl()).toBe('http://env.example'); }); it('falls back to localhost default when both runtime and env are missing', () => { expect(getApiBaseUrl()).toBe('http://localhost:8080'); }); });