fix(api): reflect disabled keys and platform counts
Use the native disabled flag for individual keys, dim disabled rows, and mark partially disabled groups. Name the actual add action in the empty state, count easy-mode platforms by provider group, and use the Meta icon.
This commit is contained in:
1 parent
6e34850780
commit
830fc2c1cc
12 files changed
+182
-67
No files matched your search
@@ -98,6 +98,16 @@ describe('i18n', () => {
|
||||
expect(Object.entries(en).filter(([, message]) => /\p{Script=Han}/u.test(message))).toEqual([]);
|
||||
});
|
||||
|
||||
it('names the actual add action in the empty API access prompt', () => {
|
||||
expect(translate('zh-CN', 'apiAccess.empty.addFirst', { action: '添加 API Key' }))
|
||||
.toBe('点击右上角“添加 API Key”添加第一个接入');
|
||||
expect(translate('en', 'apiAccess.empty.addFirst', { action: 'Add Service' }))
|
||||
.toBe('Click “Add Service” in the upper-right to create your first connection');
|
||||
expect(translate('ja', 'apiAccess.empty.addFirst', { action: 'API キーを追加' }))
|
||||
.toBe('右上の「API キーを追加」から最初の接続を追加してください');
|
||||
expect(translate('zh-CN', 'easyMode.api.supportedPlatforms')).toContain('Vertex');
|
||||
});
|
||||
|
||||
it('localizes API controls and usage labels in Chinese, English, and Japanese', () => {
|
||||
for (const [key, chinese, english, japanese] of [
|
||||
['apiAccess.cloak.auto', '自动', 'Automatic', '自動'],
|
||||
|
||||
@@ -16,6 +16,7 @@ import {
|
||||
providerProxyDraftFromRecord,
|
||||
providerRecordWithDisabledState,
|
||||
providerRemarkIdentity,
|
||||
providerRowsFromGroups,
|
||||
providerSectionOrder,
|
||||
reorderProviderRecords,
|
||||
resolveProviderRecordIndex,
|
||||
@@ -589,7 +590,28 @@ describe('API 接入配置合并', () => {
|
||||
const enabled = providerRecordWithDisabledState('codex-api-key', disabled, false);
|
||||
|
||||
expect(disabled['excluded-models']).toEqual(['preview-*', '*']);
|
||||
expect(disabled.disabled).toBe(true);
|
||||
expect(enabled['excluded-models']).toEqual(['preview-*']);
|
||||
expect(enabled.disabled).toBeUndefined();
|
||||
});
|
||||
|
||||
it('列表按原生 disabled 标记显示每把密钥的启用状态', () => {
|
||||
const rows = providerRowsFromGroups('claude-api-key', [{
|
||||
name: 'claude-1',
|
||||
keys: [
|
||||
{ 'api-key': 'live-key' },
|
||||
{ 'api-key': 'paused-key', disabled: true },
|
||||
],
|
||||
}]);
|
||||
expect(rows.map((row) => row.disabled)).toEqual([false, true]);
|
||||
expect(providerRowsFromGroups('openai-compatibility', [{
|
||||
name: 'relay',
|
||||
keys: [{ 'api-key': 'a' }, { 'api-key': 'b', disabled: true }],
|
||||
}])[0].disabled).toBe(false);
|
||||
expect(providerRowsFromGroups('openai-compatibility', [{
|
||||
name: 'relay',
|
||||
keys: [{ 'api-key': 'a', disabled: true }, { 'api-key': 'b', disabled: true }],
|
||||
}])[0].disabled).toBe(true);
|
||||
});
|
||||
|
||||
it('运行时补全默认 Base URL 后仍能按原始索引找到配置记录', () => {
|
||||
|
||||
Reference in new issue
Block a user