From 6700f84ad8324fd11583c7ea1a21a47c1208fec0 Mon Sep 17 00:00:00 2001 From: Johan Girod Date: Wed, 2 Jun 2021 09:43:56 +0200 Subject: [PATCH] :green_heart: Fix type test --- .../source/pages/Créer/CreationChecklist.tsx | 2 +- mon-entreprise/source/pages/Gérer/Home.tsx | 23 ++++++++++++++----- .../source/pages/Simulateurs/Page.tsx | 10 ++++---- .../source/pages/Simulateurs/Salarié.tsx | 2 +- .../source/pages/Simulateurs/metadata.tsx | 8 +++---- .../source/reducers/inFranceAppReducer.ts | 13 +++++++++-- mon-entreprise/source/sitePaths.ts | 4 +++- .../__snapshots__/simulations.jest.js.snap | 9 ++++---- 8 files changed, 46 insertions(+), 25 deletions(-) diff --git a/mon-entreprise/source/pages/Créer/CreationChecklist.tsx b/mon-entreprise/source/pages/Créer/CreationChecklist.tsx index 62016386f..aa73855dc 100644 --- a/mon-entreprise/source/pages/Créer/CreationChecklist.tsx +++ b/mon-entreprise/source/pages/Créer/CreationChecklist.tsx @@ -500,7 +500,7 @@ export default function CreateCompany({ statut }: CreateCompanyProps) { diff --git a/mon-entreprise/source/pages/Gérer/Home.tsx b/mon-entreprise/source/pages/Gérer/Home.tsx index 316779f14..3d6cd9f27 100644 --- a/mon-entreprise/source/pages/Gérer/Home.tsx +++ b/mon-entreprise/source/pages/Gérer/Home.tsx @@ -9,7 +9,7 @@ import Overlay from 'Components/Overlay' import PageHeader from 'Components/PageHeader' import * as Animate from 'Components/ui/animate' import { ScrollToTop } from 'Components/utils/Scroll' -import { SitePathsContext } from 'Components/utils/SitePathsContext' +import { SitePaths, SitePathsContext } from 'Components/utils/SitePathsContext' import { useContext, useEffect, useRef, useState } from 'react' import emoji from 'react-easy-emoji' import { Helmet } from 'react-helmet' @@ -22,22 +22,33 @@ import { TrackPage } from '../../ATInternetTracking' import AideOrganismeLocal from './AideOrganismeLocal' import businessPlan from './businessPlan.svg' -const infereDirigeantFromCompanyDetails = (company: Company | null) => { +const infereDirigeantFromCompanyDetails = ( + company: Company | null +): Exclude< + keyof SitePaths['simulateurs'], + 'index' | 'profession-libérale' | 'économieCollaborative' +> | null => { if (!company) { return null } if (company.isAutoEntrepreneur) { return 'auto-entrepreneur' } + if (company.statutJuridique === 'EI') { + return 'entreprise-individuelle' + } if ( - ['EI', 'EURL'].includes(company.statutJuridique ?? '') || - (company.statutJuridique === 'SARL' && company.isDirigeantMajoritaire) + company.statutJuridique && + ['EIRL', 'SASU', 'EURL'].includes(company.statutJuridique) ) { + return company.statutJuridique.toLowerCase() as 'eirl' | 'sasu' | 'eurl' + } + if (company.statutJuridique === 'SARL' && company.isDirigeantMajoritaire) { return 'indépendant' } - if (['SASU', 'SAS'].includes(company.statutJuridique ?? '')) { - return 'SASU' + if (company.statutJuridique === 'SAS') { + return 'sasu' } return null diff --git a/mon-entreprise/source/pages/Simulateurs/Page.tsx b/mon-entreprise/source/pages/Simulateurs/Page.tsx index 6aa4f1199..e195c08a1 100644 --- a/mon-entreprise/source/pages/Simulateurs/Page.tsx +++ b/mon-entreprise/source/pages/Simulateurs/Page.tsx @@ -176,20 +176,20 @@ type SimulatorRessourceCardProps = { export function SimulatorRessourceCard({ simulatorId, }: SimulatorRessourceCardProps) { - const simulators = useSimulatorsData() + const simulator = useSimulatorsData()[simulatorId] return (

- {' '} - {simulators[simulatorId].shortName} + {simulator.icône && }{' '} + {simulator.shortName}

-

{simulators[simulatorId].meta?.description}

+

{simulator.meta?.description}

) } diff --git a/mon-entreprise/source/pages/Simulateurs/Salarié.tsx b/mon-entreprise/source/pages/Simulateurs/Salarié.tsx index d30133f0c..f056699e1 100644 --- a/mon-entreprise/source/pages/Simulateurs/Salarié.tsx +++ b/mon-entreprise/source/pages/Simulateurs/Salarié.tsx @@ -39,7 +39,7 @@ export default function SalariéSimulation() { Vous êtes dirigeant d'une SAS(U) ?{' '} - + Accéder au simulateur de revenu dédié diff --git a/mon-entreprise/source/pages/Simulateurs/metadata.tsx b/mon-entreprise/source/pages/Simulateurs/metadata.tsx index cb9131d49..8d262922f 100644 --- a/mon-entreprise/source/pages/Simulateurs/metadata.tsx +++ b/mon-entreprise/source/pages/Simulateurs/metadata.tsx @@ -294,11 +294,9 @@ export function getSimulatorsData({

Le dirigeant d'une entreprise individuelle paye des cotisations sociales, proportionnelle au{' '} - {' '} + + résultat fiscal + {' '} de l'entreprise. Leur montant varie également en fonction du type d'activité (profession libérale, artisan, commerçants, etc), où des éventuelles exonérations accordées (ACRE, ZFU, RSA, etc.). diff --git a/mon-entreprise/source/reducers/inFranceAppReducer.ts b/mon-entreprise/source/reducers/inFranceAppReducer.ts index ed2a9cce5..401523630 100644 --- a/mon-entreprise/source/reducers/inFranceAppReducer.ts +++ b/mon-entreprise/source/reducers/inFranceAppReducer.ts @@ -83,9 +83,18 @@ function companyStatusChoice(state: LegalStatus | null = null, action: Action) { return action.statusName } +type StatutJuridique = + | 'EI' + | 'EURL' + | 'SARL' + | 'SAS' + | 'SA' + | 'SASU' + | 'NON_IMPLÉMENTÉ' + const infereLegalStatusFromCategorieJuridique = ( catégorieJuridique: string -) => { +): StatutJuridique => { /* Nous utilisons le code entreprise pour connaitre le statut juridique (voir https://www.insee.fr/fr/information/2028129) @@ -118,7 +127,7 @@ const infereLegalStatusFromCategorieJuridique = ( export type Company = { siren: string catégorieJuridique?: string - statutJuridique?: string + statutJuridique?: StatutJuridique dateDeCréation?: string isAutoEntrepreneur?: boolean isDirigeantMajoritaire?: boolean diff --git a/mon-entreprise/source/sitePaths.ts b/mon-entreprise/source/sitePaths.ts index 8078adccf..00d976280 100644 --- a/mon-entreprise/source/sitePaths.ts +++ b/mon-entreprise/source/sitePaths.ts @@ -54,7 +54,6 @@ const sitePathsFr = { eirl: '/eirl', sasu: '/sasu', eurl: '/eurl', - indépendant: '/indépendant', comparaison: '/comparaison-régimes-sociaux', pamc: '/pamc', @@ -119,6 +118,9 @@ const sitePathsEn = { indépendant: '/independant', 'entreprise-individuelle': '/sole-proprietorship', 'auto-entrepreneur': '/auto-entrepreneur', + eirl: '/eirl', + sasu: '/sasu', + eurl: '/eurl', pamc: '/pamc', comparaison: '/social-scheme-comparaison', salarié: '/salary', diff --git a/mon-entreprise/test/regressions/__snapshots__/simulations.jest.js.snap b/mon-entreprise/test/regressions/__snapshots__/simulations.jest.js.snap index 2c746c8a7..8185b44d3 100644 --- a/mon-entreprise/test/regressions/__snapshots__/simulations.jest.js.snap +++ b/mon-entreprise/test/regressions/__snapshots__/simulations.jest.js.snap @@ -198,14 +198,15 @@ Notifications affichées : dirigeant . auto-entrepreneur . notification calcul A `; exports[`calculate simulations-auto-entrepreneur: ACRE 3`] = ` +<<<<<<< HEAD "[34449,371,30000,0,30000] +======= +"[33950,329,30000,0,30000] +>>>>>>> f2da7982 (:green_hear: Fix type test) Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" `; -exports[`calculate simulations-auto-entrepreneur: ACRE 4`] = ` -"[45267,439,40000,0,40000] -Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" -`; +exports[`calculate simulations-auto-entrepreneur: ACRE 4`] = `"[45932,494,40000,0,40000]"`; exports[`calculate simulations-auto-entrepreneur: activité mixte 1`] = `"[20000,292,16499,0,16499]"`;