import { describe, expect, it } from 'vitest'; import { AGC_DEVELOPMENT_API_BASE_URL, resolveClientHttpTarget, } from '../src/services/clientHttp'; describe('AGC client HTTP transport', () => { it('keeps local development requests on the Vite API proxy', () => { expect( resolveClientHttpTarget('/api/auth/me', { isDevelopment: true, isTauri: true, pageProtocol: 'http:', }), ).toEqual({ transport: 'web', url: '/api/auth/me' }); }); it('routes release Tauri requests through the scoped dev API transport', () => { expect( resolveClientHttpTarget('/api/auth/me', { isDevelopment: false, isTauri: true, pageProtocol: 'tauri:', }), ).toEqual({ transport: 'tauri-http', url: `${AGC_DEVELOPMENT_API_BASE_URL}/api/auth/me`, }); }); it('keeps ordinary web releases on same-origin relative requests', () => { expect( resolveClientHttpTarget('/api/auth/me', { isDevelopment: false, isTauri: false, pageProtocol: 'https:', }), ).toEqual({ transport: 'web', url: '/api/auth/me' }); }); it('rejects release Tauri requests outside the fixed dev API origin', () => { expect(() => resolveClientHttpTarget('https://example.com/api/auth/me', { isDevelopment: false, isTauri: true, pageProtocol: 'tauri:', }), ).toThrow('不在允许的开发服务器范围内'); }); });