Files
MyGoNavi/frontend/src/components/QueryEditorTransaction.i18n.test.ts
Syngnat 8a552c4cb3 🐛 fix(query-editor): 优化事务下拉显示与浮层交互
- 自动提交延迟选项改为多语言完整文案,避免短标签语义不清
- 收窄并校准 V2 工具栏事务下拉宽度,兼顾不截断与紧凑布局
- 事务模式 Select 展开时自动隐藏 DBeaver 参考 Tooltip,避免浮层互相遮挡
- 补充事务设置行为测试和布局守护测试
2026-06-24 17:50:57 +08:00

56 lines
1.8 KiB
TypeScript

import { readFileSync } from 'node:fs';
import { describe, expect, it } from 'vitest';
const settingsSource = readFileSync(new URL('./QueryEditorTransactionSettings.tsx', import.meta.url), 'utf8');
const toolbarSource = readFileSync(new URL('./QueryEditorTransactionToolbar.tsx', import.meta.url), 'utf8');
const settingsLegacyLiterals = [
'立即',
'参考 DBeaver',
'手动',
'自动',
];
const toolbarLegacyLiterals = [
'后自动提交',
'自动提交中',
'提交',
'回滚',
];
const requiredKeys = [
'query_editor.transaction.delay.immediate',
'query_editor.transaction.delay.immediate_commit',
'query_editor.transaction.delay.seconds_commit',
'query_editor.transaction.mode.tooltip',
'query_editor.transaction.mode.manual',
'query_editor.transaction.mode.auto',
'query_editor.transaction.status.auto_commit_countdown',
'query_editor.transaction.status.auto_committing',
'query_editor.transaction.action.commit',
'query_editor.transaction.action.commit_with_count',
'query_editor.transaction.action.rollback',
];
describe('QueryEditor transaction i18n', () => {
it('uses localized keys for transaction settings and toolbar chrome', () => {
for (const source of [settingsSource, toolbarSource]) {
expect(source).toContain("import { useOptionalI18n } from '../i18n/provider';");
expect(source).toContain('const i18n = useOptionalI18n();');
expect(source).toContain('const t = i18n?.t ?? defaultTranslate;');
}
for (const key of requiredKeys) {
expect(`${settingsSource}\n${toolbarSource}`).toContain(key);
}
for (const literal of settingsLegacyLiterals) {
expect(settingsSource).not.toContain(literal);
}
for (const literal of toolbarLegacyLiterals) {
expect(toolbarSource).not.toContain(literal);
}
});
});