Le paramètre SMIC utilisé dans le calcul des réductions, en particulier
de la réduction générale, doit prendre en compte les heures supplémentaires.
Cette non prise en compte nous conduisait à sur-estimer le montant des
cotisations sociales sur les heures supplémentaires.
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
Ces fonctions n'étaient utilisées qu'une fois ou deux et constituent des
indirections inutiles : getIframeOption, parseDataAttributes,
setToSessionStorage, getFromSessionStorage et isNumeric.
Préférer les fonctions de la "bibliothèque standard": sessionStorage et
URLSearchParams.
* 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".
- On utilise un nouveau composant qui se base sur la dernière version de l'api SIRENE
- On sépare les données entre la simulation des cotisations et la création d'entreprise
- On gagne des lignes !
Supprimée au niveau des cotisations patronales dans fb54d4c, ce commit
ré-intégre ce coût au niveau d'une nouvelle variable "coût du travail"
qui inclut également les aides différées.
Note: une variable "coût d'embauche" existait précédemment mais n'était
plus utilisée 4784bcd2
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.
Quand une variable est destinée à être saisie par l'utilisateur, on veut
qu'il saisisse 50, pas 0.5 pour exprimer 50%.
On pourrait lui faire saisir 50 et convertir en direct vers la vraie
valeur de 0.5, mais c'est compliqué aujourd'hui dans reduxForm
(l'attribut "normalize" ne suffit pas, car la valeur 0.5 sera visible
après un bref instant de debounce).
Je pense qu'il serai quand même mieux que nous stockions les variables
qui sont des ratios comme 0.5 et que l'UI se charge d'afficher et de
faire saisir ces valeurs sous forme 50%.
Les liens dans le markdown ne prenaient pas en compte le `basename`
configuré via react-router/history.
Utilisation de `react-markdown` au lieu de `marked` qui s'inter-opère
mieux avec notre UI.
Suite aux retours utilisateurs rassemblé par l'Acoss (cc Agnes Nardon) :
- Uniformise les nom de tous les champs entre les différents simulateurs
- Pour la comparaison des régimes, on ne parle plus du CA, mais du montant dégagé pour la rémunération du dirigeant (plus clair)
- Supprime la notion de charge pour les auto-entrepreneur
- Tant que la simulation complète de l'entreprise n'est pas développé (cf #562), on enlève la notion de chiffre d'affaires des simulateurs de revenus. Elle est en effet triviale à calculer (rem total + charges) et laisse perplexe les utilisateurs même les plus renseignés