1
0
Fork 0
mirror of https://github.com/betagouv/mon-entreprise synced 2025-02-08 23:25:02 +00:00
mon-entreprise/source/i18n.js
Maxime Quandalle 1e7730dd25
Snapshot testing
Ajout de tests de non-regressions des calculs afin d'éviter de déployer
silencieusement des effets de bord non-désirés dans les règles de calculs.

J'ai ajouté Jest pour sa fonction de snapshot testing qui est
particulièrement adaptée pour ce type de cas (voir #717). J'ai essayé
avec mocha-snapshot sans succès.

J'ai eu un petit peu de mal à configurer Jest, car il n'est pas possible
de ré-utiliser la configuration Webpack, qu'il faut alors dupliquer. C'est
pourquoi j'ai limité l'utilisation de Jest aux seuls tests de snapshot.
À voir s'il y a un intérêt à migrer les tests Mocha vers Jest ultérieurement.

Fixes #717
2019-10-22 10:35:31 +02:00

30 lines
751 B
JavaScript

import i18next from 'i18next'
import { initReactI18next } from 'react-i18next'
import enTranslations from './locales/en.yaml'
import unitsTranslations from './locales/units.yaml'
import { getSessionStorage } from './utils'
let lang =
(typeof document !== 'undefined' &&
new URLSearchParams(document.location.search.substring(1)).get('lang')) ||
getSessionStorage()
?.getItem('lang')
?.match(/^(fr|en)$/)?.[0] ||
'fr'
getSessionStorage()?.setItem('lang', lang)
i18next
.use(initReactI18next)
.init({
lng: lang,
resources: {
fr: { units: unitsTranslations.fr },
en: {
translation: enTranslations,
units: unitsTranslations.en
}
}
})
.catch(err => console?.error('Error from i18n load', err))
export default i18next