Files
bDS/tests/engine/i18nLocaleCompleteness.test.ts

28 lines
968 B
TypeScript

import { describe, expect, it } from 'vitest';
import en from '../../src/main/shared/i18n/locales/en.json';
import de from '../../src/main/shared/i18n/locales/de.json';
import fr from '../../src/main/shared/i18n/locales/fr.json';
import itLocale from '../../src/main/shared/i18n/locales/it.json';
import es from '../../src/main/shared/i18n/locales/es.json';
type LocaleMap = Record<string, string>;
const locales: Record<string, LocaleMap> = {
de: de as LocaleMap,
fr: fr as LocaleMap,
it: itLocale as LocaleMap,
es: es as LocaleMap,
};
describe('main/shared locale completeness', () => {
const englishKeys = Object.keys(en as LocaleMap).sort();
it('all main/shared locales contain exactly the english key set', () => {
for (const [locale, messages] of Object.entries(locales)) {
const localeKeys = Object.keys(messages).sort();
expect(localeKeys, `Locale ${locale} is missing or has extra keys`).toEqual(englishKeys);
}
});
});