31 lines
842 B
JavaScript
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)
|
|
})
|
|
})
|