mon-entreprise/site/test/unit-translations.test.js

31 lines
842 B
JavaScript

import rawRules from 'modele-social'
import { parsePublicodes } from 'publicodes'
import { describe, expect, it } from 'vitest'
import unitsTranslations from '../source/locales/units.yaml'
describe('Tests units', function () {
it('use unit that exists in publicodes', function () {
const { parsedRules } = parsePublicodes(rawRules)
const units = [
...new Set(
Object.keys(parsedRules).reduce(
(prev, name) => [
...prev,
...(parsedRules[name].unit?.numerators ?? []),
...(parsedRules[name].unit?.denumerators ?? []),
],
[]
)
),
]
const blackList = ['€', '%']
const translatedKeys = Object.keys(unitsTranslations.en)
const missingTranslations = units.filter(
(unit) => ![...translatedKeys, ...blackList].includes(unit)
)
expect(missingTranslations).toHaveLength(0)
})
})