Files
MyGoNavi/frontend/src/utils/providerSecretDraft.test.ts
tianqijiuyun-latiao 4718755208 feat(security): 完成配置密文存储前后端闭环
- 补齐连接与代理密文字段的保留替换清空语义

- 接通保存复制删除导入接口并返回 secretless 视图

- 刷新 Wails 绑定并补充实现留痕文档
2026-04-05 11:52:59 +08:00

42 lines
1.1 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import { resolveProviderSecretDraft } from './providerSecretDraft';
describe('resolveProviderSecretDraft', () => {
it('keeps existing provider secret when edit form leaves apiKey blank', () => {
const result = resolveProviderSecretDraft({
hasSecret: true,
apiKeyInput: '',
clearSecret: false,
});
expect(result.mode).toBe('keep');
expect(result.apiKey).toBe('');
expect(result.hasSecret).toBe(true);
});
it('replaces the provider secret when a new apiKey is entered', () => {
const result = resolveProviderSecretDraft({
hasSecret: true,
apiKeyInput: ' sk-new ',
clearSecret: false,
});
expect(result.mode).toBe('replace');
expect(result.apiKey).toBe('sk-new');
expect(result.hasSecret).toBe(true);
});
it('clears the stored provider secret when requested', () => {
const result = resolveProviderSecretDraft({
hasSecret: true,
apiKeyInput: '',
clearSecret: true,
});
expect(result.mode).toBe('clear');
expect(result.apiKey).toBe('');
expect(result.hasSecret).toBe(false);
});
});