Files
MyGoNavi/frontend/src/components/RedisMonitor.i18n.test.ts
tianqijiuyun-latiao 9364c48ef0 feat(i18n): 完善多模块多语言适配与发版验证
扩展前后端多语言文案与共享词典。增加多模块 i18n 回归测试与 guard。收口外部 SQL 菜单和弹窗多语言文案。
2026-06-17 13:17:33 +08:00

47 lines
1.9 KiB
TypeScript

import { readFileSync } from 'node:fs';
import { describe, expect, it } from 'vitest';
const source = readFileSync(new URL('./RedisMonitor.tsx', import.meta.url), 'utf8');
describe('RedisMonitor i18n', () => {
it('localizes monitor chrome while preserving Redis metrics and raw server info', () => {
[
'Redis 实例监控',
'暂停刷新',
'恢复刷新',
'立即刷新',
'已用内存 (Used)',
'客户端数量 (Clients)',
'吞吐量 (OPS)',
'启动时长 (Uptime)',
'请求吞吐量 (QPS)',
'内存开销 (Memory)',
'CPU 使用率 (CPU Usage)',
'连接信息 (Clients & Keys)',
'详细服务器参数',
'Connection not found.',
'Failed to fetch Redis info',
'Unknown error',
].forEach((snippet) => {
expect(source).not.toContain(snippet);
});
expect(source).toContain('useOptionalI18n()');
expect(source).toContain("tr('redis_monitor.title.instance'");
expect(source).toContain("tr('redis_monitor.action.pause_refresh'");
expect(source).toContain("tr('redis_monitor.action.resume_refresh'");
expect(source).toContain("tr('redis_monitor.action.refresh_now'");
expect(source).toContain("tr('redis_monitor.metric.memory_used'");
expect(source).toContain("tr('redis_monitor.metric.clients'");
expect(source).toContain("tr('redis_monitor.metric.ops'");
expect(source).toContain("tr('redis_monitor.metric.uptime'");
expect(source).toContain("tr('redis_monitor.chart.qps'");
expect(source).toContain("tr('redis_monitor.chart.memory'");
expect(source).toContain("tr('redis_monitor.chart.cpu_usage'");
expect(source).toContain("tr('redis_monitor.chart.clients_keys'");
expect(source).toContain("tr('redis_monitor.server_details.title'");
expect(source).toContain("tr('redis_monitor.state.connection_not_found'");
expect(source).toContain("tr('redis_monitor.message.fetch_failed'");
});
});