Commit Graph

29 Commits (541a8a8dbb2eb49e37d4d579d28a46c1e3395b69)

Author SHA1 Message Date
Johan Girod fbdd7eba86 💚 répare les tests de non regression 2020-01-08 11:29:19 +01:00
Maxime Quandalle 057706a6df
Corrige les tests unitaires
La mises à jour de valeurs précises calculées dans les tests unitaires
n'est pas une solution satisfaisante. Je le fait dans ce commit mais à
terme je pense qu'il faudra déléguer intégralité de ces tests sur des
valeurs précises aux tests de régressions `yarn run test-regressions`
qui peuvent être mis à jour facilement et conserver les tests unitaires
pour des cas où la valeur précise calculée n'importe pas.
2019-12-26 18:37:55 +01:00
Maxime Quandalle 1b963b8bbe Ajout de l'option "allowJs" dans tsconfig.js
Cela permet l'inférence de type à partir des fichiers js qui ne sont pas
encore convertis en TypeScript.
Par ailleurs suppression des dernières traces de Flow.
Ajout d'options plus strictes pour dans la config tsconfig.js
2019-12-17 11:34:12 +01:00
Johan Girod 00b122fa97 ⚙️ ajoute la conversion d'unité
Gros changements en perspective :
- Supprime la notion de période, au bénéfice de celle d'unité
  (`période : mensuelle` devient `unité: €/mois`)
- Améliore les rapports d'erreur avec des messages plus clair
- Ajoute un avertissement lorsque des types ne sont pas compatible
- Ajoute la conversion automatique d'unité dans le moteur
- Ajoute une notion d'unité par défaut de la simulation,
  c'est l'unité vers laquelle les règles qui ne spécifient pas
  d'unité seront converties
- Ajoute une notion d'unité par défaut des règles, qui spécifie
  l'unité de la règle qui prévaut lorsque qu'il n'y a pas
  d'unité par défaut de la simulation (utile pour les question ou
  pour s'assurer du bon type d'une règle)
2019-12-16 11:34:04 +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
Maxime Quandalle 1ccaf94a1c
⚙️ Nouvelle syntaxe de définition publicodes
* Définition à partir du nom complet en notation pointée (plutôt que
  comme deux attributs indépendants "name" et "espace")
* Structure de données de premier niveau "dictionnaire" plutôt que liste,
  s'aligne mieux avec notre contrainte d'unicité des noms
* Possibilité de définir les règles à partir d'une liste dans les tests,
  dans ce cas il ne faut plus utiliser l'attribut "espace" mais renseigner
  directement la notation pointée dans le "nom".
2019-10-13 11:46:29 +02:00
Maxime Quandalle fb54d4cb90
🔨 La medecine du travail n'est pas une cotisation patronale 2019-10-01 14:01:03 +02:00
Marc Pasteur 728cfad31b
🔨 MAJ de la réduction Fillon - octobre 2019
Closes #435 #570
2019-09-27 12:48:08 +02:00
Johan Girod d1f9ef383b
🎨 améliore l'affichage des valeurs négatives 2019-09-25 10:01:34 +02:00
Maxime Quandalle 0ddc2d0469
Ajout des règles dans le state Redux
Déplace la logique de changement de période d'un component vers un reducer
2019-09-18 14:10:10 +02:00
Maxime Quandalle 3fbd94bc65
🔥 Suppression de redux-form
Supprime aussi redux-batched-action. Le code résultant est plus concis
(alors que l'on supprime une dépendance !), et plus clair car il y a moins
d'indirections pour se conformer aux API de redux-form.
2019-09-17 12:54:18 +02:00
Johan Girod 352a1467a2
💚 répare les tests unitaires 2019-09-03 18:12:07 +02:00
Johan Girod a247e5d57c
🔨 Ajoute la reduction de cotisations pour les heures supplémentaires
TODO: uniformiser la façon de gérer les réductions sur la fiche de paie, entre employeur et salarié
2019-09-03 18:11:41 +02:00
Mael 4785155f25 Correction des tests 2019-07-12 10:33:02 +02:00
Johan Girod f11f0579fd
Affiche automatiquement la question après la première valeur rentrée
🔥 Et supprime le code gérant  dans le state
2019-06-05 15:16:46 +02:00
Johan Girod d7d5833a54 💚 Fix les derniers warnings de flow 2019-02-03 18:05:55 +01:00
Johan Girod de2f41ecd4 💚 Répare les tests unitaire, les erreurs flow et les erreurs eslint 2019-02-01 17:21:41 +01:00
Johan Girod 9ba4a57139 Merge remote-tracking branch 'origin/master' into indeps2 2019-01-08 18:22:44 +01:00
Johan Girod 7cd961c181 Corrige la page blanche sur les simulations, améliore le rendu 2019-01-08 12:54:56 +01:00
Johan Girod cb0bdcbdd8 :engine: Ajoute les dernières branches manquante et leurs
traductions.

Ajoute les liens vers les pages règles de branche depuis la
distribution et le bulletin de paie
2019-01-07 16:05:13 +01:00
Mael 72bb0dd1bf Correction des tests de non-régression 2018-12-30 11:50:06 +01:00
Mael 53d3b4ff5d 🔨 Suppression de la cotisation chômage 2018-09-26 12:37:39 +00:00
Mael 005cf1d964 Fichiers inutiles et imports réparés 2018-09-05 10:13:06 +02:00
Mael 3bb0759865 Correction d'un test de la fiche de paie 2018-09-05 10:11:18 +02:00
Mael 81a51bcda5 Distinction de salaire et rémunération 2018-09-05 10:09:10 +02:00
Mael 74a688f156 Mise à jour des termes dans la vue fiche de paie
Suite à l'introduction de l'impôt à la source
2018-09-05 10:09:10 +02:00
Johan Girod aa8e3176e0 🐛 corrige le bug qui faisait afficher une page blanche
lorsqu'on modifiait le salaire brut au cours d'une simulation
2018-08-28 14:25:10 +02:00
Johan Girod f20164e58b rétablit la possibilité de modifier ses réponses précédentes 2018-08-04 12:11:35 +02:00
Johan Girod 105ebbe602 🎨 améliore la page de règles 2018-08-04 12:11:35 +02:00