Files
MyGoNavi/frontend/src/utils/mcpEnvDraft.test.ts
Syngnat 1a2462ef17 🐛 fix(ai-settings): 修正MCP环境变量录入反馈
- 抽离环境变量草稿解析工具,区分有效项和无效行
- 保留用户原始输入,避免无效行被静默吞掉
- 在 MCP 服务卡片中显示识别数量与无效行提示
- 补充环境变量解析与卡片提示测试
2026-06-08 09:29:40 +08:00

32 lines
967 B
TypeScript

import { describe, expect, it } from 'vitest';
import { formatMCPEnvDraft, parseMCPEnvDraft } from './mcpEnvDraft';
describe('mcpEnvDraft helpers', () => {
it('formats env objects into editable KEY=VALUE lines', () => {
expect(formatMCPEnvDraft({
OPENAI_API_KEY: 'abc',
BASE_URL: 'https://example.com',
})).toBe('OPENAI_API_KEY=abc\nBASE_URL=https://example.com');
});
it('parses valid env lines and preserves invalid ones for warning', () => {
const result = parseMCPEnvDraft([
'OPENAI_API_KEY=abc',
'BAD LINE',
'HAS SPACE =wrong',
'EMPTY_VALUE=',
'BASE_URL=https://example.com?a=1',
].join('\n'));
expect(result.env).toEqual({
OPENAI_API_KEY: 'abc',
EMPTY_VALUE: '',
BASE_URL: 'https://example.com?a=1',
});
expect(result.validLines).toBe(3);
expect(result.invalidLines).toEqual(['BAD LINE', 'HAS SPACE =wrong']);
expect(result.totalLines).toBe(5);
});
});