Commit Graph

37 Commits (mécanisme-prorata)

Author SHA1 Message Date
Johan Girod 19ea58a5d0 🐛 fix #760 2019-10-31 10:24:55 +01:00
Maxime Quandalle 6de970f0e3 🔥 Migration vers TypeScript
Outils
======

Ce commit retire le tooling de Flow, et ajoute le support de TypeScript
pour les fichiers .ts et .tsx. Il n'est pas nécessaire de tout migrer
d'un coup ce qui facilite la transition. On garde en effet le
compilateur Babel avec un preset TypeScript (ce qui permet donc de
retirer à la fois les types Flow et TypeScript) plutôt que d'utiliser le
compilateur standard pour la conversion du code. Cela permet aussi de
mieux s'intégrer avec d'autres outils, notamment les test-runners.

Ajout d'une nouvelle commande `yarn run type-check`, intégrée dans
CircleCI.

Par ailleurs ajout du support de l'opérateur ?? pour donner des valeurs
par défaut (nullish-coalescing-operator).

Typage des libraires tierces
============================

Les principales libraires que nous utilisons ont un typage TypeScript de
bon niveau, ce qui facilite l'intégration. J'ai mis à jour react-i18next
et i18next afin de corriger un problème de typage.

Typage du code
==============

Le typage est loin d'être complet dans ce commit, en particulier il
manque les types relatifs au state Redux, ainsi qu'au moteur (règle,
explication). Néanmoins le typage des contextes fonctionne, en
particulier sitePaths (avec un type récursif non trivial !) qui a déjà
permis de détecter un lien mort.

Le typage des "paths" (Components/, Règles/, etc.) fonctionne bien, y
compris avec l'auto-complétion automatique des import par Typescript.

TypeScript se révèle déjà bien agréable dans VSCode (auto-complétion,
refacto, etc.) ! Reste à migrer progressivement le reste du code !
2019-10-30 10:20:48 +01:00
Johan Girod f958e632d5 Ajoute des tests extensif pour tous les simulateurs 2019-10-23 12:21:48 +02:00
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
Johan Girod fac63bf5d1
💚 remet l'enregistrement des tests E2E maintenant que nous sommes labelisés OSS par Cypress 2019-04-24 10:52:27 +02:00
Johan Girod 0683dfacf4
💚 enlève l'enregistrement cypress tant que nous n'avons pas le plan open-source 2019-04-24 10:49:11 +02:00
Johan Girod a84a562eb2
💚 répare les tests E2E suite à la suppression d'embauche.beta.gouv.fr 2019-04-24 10:49:11 +02:00
Johan Girod d8100592bb 💚 enlève les tests E2E sur demo en attendant de corriger le changement de langue 2019-02-18 17:19:30 +01:00
Johan Girod ef9145af77 💚 refactor le ficher circle.yaml 2019-02-14 08:50:13 +01:00
Johan Girod 2c1a2cece3 💚 change la config des tests E2E pour permettre le test du changement de langue sur circleci 2019-02-14 08:50:13 +01:00
Johan Girod 59db9c7d99 ajoute des tests E2E pour le changement de langue 2019-02-14 08:50:13 +01:00
Johan Girod 3160c2348d 💚 Répare une erreur circle.ci sur master 2019-02-08 14:10:45 +01:00
Johan Girod e5518ea239 Met à jour les sitemap 2019-02-08 11:51:02 +01:00
Johan Girod 8e3a0ba501 Ajoute des script npm pour lancer les tests E2E 2019-02-08 11:09:13 +01:00
Johan Girod 502682fe65 ajoute des tests E2E pour mon-entreprise & mycompanyinfrance 2019-02-07 18:43:53 +01:00
Johan Girod 8edfc6a846 💚 réarrange le fichier circle-ci (factorisation des commandes) 2019-02-07 17:53:22 +01:00
Johan Girod d77248238d 💚 fix cypress on master 2018-11-15 11:35:30 +01:00
Johan Girod 3ceaa96ade 🐛 Augmente le timeout avant le lancement des test E2E sur master 2018-11-06 18:06:01 +01:00
Johan Girod 31be978ef3
Ajoute un délai avant les test e2e sur la prod
Pour éviter les plantages intempestifs
2018-10-11 12:07:16 +02:00
Johan Girod 9a65a27bf2 Add webhook to circleci --7 2018-09-06 19:42:27 +02:00
Johan Girod da213d0cca Add webhook to circleci --6 2018-09-06 19:37:20 +02:00
Johan Girod ff8c114b89 Add webhook to circleci --5 2018-09-06 19:36:06 +02:00
Johan Girod 97f7cf6fde Add webhook to circleci --4 2018-09-06 19:30:30 +02:00
Johan Girod 6db183344c Add webhook to circleci --3 2018-09-06 19:26:30 +02:00
Johan Girod 5a9e8a2fde Add webhook to circleci --2 2018-09-06 19:17:56 +02:00
Johan Girod aaf6f89b9a Add webhook to circleci 2018-09-06 19:16:10 +02:00
Johan Girod 8de90e8156 Fix circle CI check on prod --3 2018-09-06 18:45:20 +02:00
Johan Girod 186143e423 Fix circle CI check on prod --2 2018-09-06 18:38:37 +02:00
Johan Girod b64a2f0b45 Fix circle CI check on prod 2018-09-06 18:36:14 +02:00
Johan Girod ea2b9435e0 Add circle CI check on our partner integration (pole-emploi) 2018-09-06 18:30:24 +02:00
Johan Girod 6cd4d69236 💚 ajoute des tests end-to-end à circleCI 2018-09-06 14:54:23 +02:00
Mael fde1baf8b5 Correction de l'affichage du BarèmeLinéaire
La tranche surlignée était mauvaise

+💚 ajoute une ligne pour gérer les fichiers avec utf8
dans leur nom
2018-09-05 11:16:09 +02:00
Johan Girod 5a5d6f6814 💚 🐛 yarn is preinstall in circle ci 2.0 2018-08-29 18:37:25 +02:00
Johan Girod f536b9aa61 💚 circle-ci 2.0 2018-08-24 17:04:33 +02:00
Johan Girod b4a1111644 ⬆️ met à jour les dependances et enleve l'étape flow typed au yarn install 2018-08-04 11:44:24 +02:00
Mael a7ab825d3b :up_arrow: MAJ version node
La derniere version LTS, pour pouvoir utiliser la fonctionnalite object
spread
2018-04-23 15:45:55 +02:00
Laurent Bossavit 2a76940bd7 Ajouter des réglagles pour CircleCI 2017-06-28 17:24:17 +02:00