@lobehub/chat
Version:
Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.
53 lines (44 loc) • 2.03 kB
text/typescript
// @vitest-environment node
import { beforeEach, describe, expect, it, vi } from 'vitest';
import { getAppConfig } from '../../envs/app';
// Stub the global process object to safely mock environment variables
vi.stubGlobal('process', {
...process, // Preserve the original process object
env: { ...process.env }, // Clone the environment variables object for modification
});
describe('getServerConfig', () => {
beforeEach(() => {
// Reset environment variables before each test case
vi.restoreAllMocks();
});
// it('correctly handles values for OPENAI_FUNCTION_REGIONS', () => {
// process.env.OPENAI_FUNCTION_REGIONS = 'iad1,sfo1';
// const config = getAppConfig();
// expect(config.OPENAI_FUNCTION_REGIONS).toStrictEqual(['iad1', 'sfo1']);
// });
describe('index url', () => {
it('should return default URLs when no environment variables are set', () => {
const config = getAppConfig();
expect(config.AGENTS_INDEX_URL).toBe(
'https://registry.npmmirror.com/@lobehub/agents-index/v1/files/public',
);
expect(config.PLUGINS_INDEX_URL).toBe('https://chat-plugins.lobehub.com');
});
it('should return custom URLs when environment variables are set', () => {
process.env.AGENTS_INDEX_URL = 'https://custom-agents-url.com';
process.env.PLUGINS_INDEX_URL = 'https://custom-plugins-url.com';
const config = getAppConfig();
expect(config.AGENTS_INDEX_URL).toBe('https://custom-agents-url.com');
expect(config.PLUGINS_INDEX_URL).toBe('https://custom-plugins-url.com');
});
it('should return default URLs when environment variables are empty string', () => {
process.env.AGENTS_INDEX_URL = '';
process.env.PLUGINS_INDEX_URL = '';
const config = getAppConfig();
expect(config.AGENTS_INDEX_URL).toBe(
'https://registry.npmmirror.com/@lobehub/agents-index/v1/files/public',
);
expect(config.PLUGINS_INDEX_URL).toBe('https://chat-plugins.lobehub.com');
});
});
});