kt-template-admin/test/views/system/network/network-locale.spec.ts

36 lines
1.0 KiB
TypeScript

import { i18n } from '@vben/locales';
import { afterEach, describe, expect, it, vi } from 'vitest';
import enSystem from '#/locales/langs/en-US/system.json';
import zhSystem from '#/locales/langs/zh-CN/system.json';
const testLocales = ['network-en-US', 'network-zh-CN'];
afterEach(() => {
vi.restoreAllMocks();
for (const locale of testLocales) {
i18n.global.setLocaleMessage(locale, {});
}
});
describe.each([
['network-en-US', enSystem.network],
['network-zh-CN', zhSystem.network],
])('network locale message syntax: %s', (locale, networkMessages) => {
it('compiles every message through the production i18n runtime', () => {
const consoleError = vi
.spyOn(console, 'error')
.mockImplementation(() => {});
i18n.global.setLocaleMessage(locale, {
system: { network: networkMessages },
});
i18n.global.locale.value = locale;
for (const key of Object.keys(networkMessages)) {
i18n.global.t(`system.network.${key}`);
}
expect(consoleError).not.toHaveBeenCalled();
});
});