From 730f5bfa066e872587d8ee1a2b9b2976659d757c Mon Sep 17 00:00:00 2001 From: Johan Girod Date: Sun, 13 Mar 2022 15:31:38 +0100 Subject: [PATCH] =?UTF-8?q?Met=20=C3=A0=20jour=20les=20tests=20de=20non-re?= =?UTF-8?q?gression?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- exoneration-covid/package.json | 2 +- modele-social/package.json | 2 +- modele-social/règles/entreprise/base.yaml | 9 +- .../règles/entreprise/imposition.yaml | 6 +- package.json | 4 +- .../mon-entreprise/english/navigation.js | 2 +- .../integration/mon-entreprise/landing.js | 8 +- .../mon-entreprise/simulateur-salarie.js | 6 +- .../ChiffreAffairesActivitéMixte.tsx | 2 +- site/source/components/company/Details.tsx | 33 +++--- .../source/components/company/SearchField.tsx | 4 +- .../components/conversation/Conversation.tsx | 8 +- .../InstitutionsPartenaires.tsx | 14 ++- site/source/locales/rules-en.yaml | 18 +-- site/source/locales/ui-en.yaml | 7 +- site/source/locales/ui-fr.yaml | 7 +- .../AideDéclarationIndépendant/config.yaml | 4 - .../source/pages/Gerer/AideOrganismeLocal.tsx | 56 --------- .../DemandeMobilite/demande-mobilité.yaml | 3 +- .../pages/Gerer/DemandeMobilite/index.tsx | 1 + site/source/pages/Gerer/Home.tsx | 9 +- site/source/pages/Gerer/cards/KBISCard.tsx | 86 +++++++------- .../pages/Landing/ContinueWithCompany.tsx | 38 ------ site/source/pages/Landing/Landing.tsx | 5 +- .../Simulateurs/configs/artiste-auteur.yaml | 2 +- .../pages/Simulateurs/configs/salarié.yaml | 1 + site/test/persistence.test.ts | 1 - .../__snapshots__/simulations.test.ts.snap | 111 ++++++++---------- .../simulations-rémunération-dirigeant.yaml | 5 + .../test/regressions/simulations-salarié.yaml | 3 - site/test/regressions/simulations.test.ts | 8 +- yarn.lock | 18 +-- 32 files changed, 188 insertions(+), 295 deletions(-) delete mode 100644 site/source/pages/Gerer/AideOrganismeLocal.tsx delete mode 100644 site/source/pages/Landing/ContinueWithCompany.tsx diff --git a/exoneration-covid/package.json b/exoneration-covid/package.json index 496272d91..29db87a12 100644 --- a/exoneration-covid/package.json +++ b/exoneration-covid/package.json @@ -27,7 +27,7 @@ "build": "node ../scripts/build-rules.js", "start": "onchange 'règles/**/*.yaml' -- yarn run build", "clean": "rimraf dist node_modules", - "prepack": "yarn run build", + "postinstall": "yarn run build", "up": "yarn version --minor && echo \"ℹ N'oubliez pas de poussez le tag git\"", "test": "node ../scripts/check-changelog.js" } diff --git a/modele-social/package.json b/modele-social/package.json index f385b4fd2..b71d13266 100644 --- a/modele-social/package.json +++ b/modele-social/package.json @@ -28,7 +28,7 @@ "build": "node ../scripts/build-rules.js", "start": "onchange 'règles/**/*.yaml' -- yarn run build", "clean": "rimraf dist node_modules", - "prepack": "yarn run build", + "postinstall": "yarn run build", "up": "yarn version --minor && echo \"ℹ N'oubliez pas de poussez le tag git\"", "test": "node ../scripts/check-changelog.js" } diff --git a/modele-social/règles/entreprise/base.yaml b/modele-social/règles/entreprise/base.yaml index 155c61945..4941e66d5 100644 --- a/modele-social/règles/entreprise/base.yaml +++ b/modele-social/règles/entreprise/base.yaml @@ -208,11 +208,10 @@ entreprise . chiffre d'affaires . franchise de TVA . seuil service: entreprise . chiffre d'affaires . franchise de TVA . dépassement: type: notification - formule: - une de ces conditions: - - chiffre d'affaires > seuil vente + seuil service - - vente restauration hébergement > seuil vente - - service > seuil service + une de ces conditions: + - chiffre d'affaires > seuil vente + seuil service + - vente restauration hébergement > seuil vente + - service > seuil service résumé: | Le seuil annuel de chiffre d'affaires pour la franchise de TVA est dépassé. description: | diff --git a/modele-social/règles/entreprise/imposition.yaml b/modele-social/règles/entreprise/imposition.yaml index cb716d14d..9c01933fe 100644 --- a/modele-social/règles/entreprise/imposition.yaml +++ b/modele-social/règles/entreprise/imposition.yaml @@ -9,11 +9,7 @@ entreprise . imposition: possibilités: - IR - IS - par défaut: - variations: - - si: catégorie juridique . EI - alors: "'IR'" - - sinon: "'IS'" + par défaut: "'IR'" entreprise . imposition . IR: applicable si: imposition = 'IR' diff --git a/package.json b/package.json index aacf9f62f..766965443 100644 --- a/package.json +++ b/package.json @@ -32,9 +32,7 @@ }, "resolutions": { "prettier": "^2.5.1", - "@mui/styled-engine": "npm:@mui/styled-engine-sc@latest", - "publicodes": "portal:/home/johan/Projets/publicodes/packages/core", - "publicodes-react": "portal:/home/johan/Projets/publicodes/packages/react-ui" + "@mui/styled-engine": "npm:@mui/styled-engine-sc@latest" }, "packageManager": "yarn@3.2.0", "devDependencies": { diff --git a/site/cypress/integration/mon-entreprise/english/navigation.js b/site/cypress/integration/mon-entreprise/english/navigation.js index 1106ffaae..bde0677db 100644 --- a/site/cypress/integration/mon-entreprise/english/navigation.js +++ b/site/cypress/integration/mon-entreprise/english/navigation.js @@ -59,7 +59,7 @@ describe(`Navigation to income simulator using company name (${ ).click() cy.get('input').first().type('menoz') cy.contains('834364291').click() - cy.contains('SASU').click() + cy.contains('SAS(U)').click() cy.location().should((loc) => { expect(loc.pathname).to.match(/sasu$/) }) diff --git a/site/cypress/integration/mon-entreprise/landing.js b/site/cypress/integration/mon-entreprise/landing.js index f9d9b3fad..75b0c98b3 100644 --- a/site/cypress/integration/mon-entreprise/landing.js +++ b/site/cypress/integration/mon-entreprise/landing.js @@ -1,6 +1,6 @@ -const searchInputPath = '[data-testid=company-search-input]' -const searchResultsPath = '[data-testid=company-search-results]' -const currentCompanyPath = '[data-testid=currently-selected-company]' +const searchInputPath = '[data-test-id=company-search-input]' +const searchResultsPath = '[data-test-id=company-search-results]' +const currentCompanyPath = '[data-test-id=currently-selected-company]' const FIXTURES_FOLDER = 'cypress/fixtures/landing' @@ -51,7 +51,7 @@ describe('Landing page', function () { cy.go('back') cy.get(currentCompanyPath).should('exist') - cy.get(currentCompanyPath).click() + cy.contains('Continuer avec cette entreprise').click() cy.url().should('include', '/g%C3%A9rer') diff --git a/site/cypress/integration/mon-entreprise/simulateur-salarie.js b/site/cypress/integration/mon-entreprise/simulateur-salarie.js index 67c430971..09f29fb66 100644 --- a/site/cypress/integration/mon-entreprise/simulateur-salarie.js +++ b/site/cypress/integration/mon-entreprise/simulateur-salarie.js @@ -12,7 +12,11 @@ describe('Simulateur salarié', function () { before(function () { cy.get('button').contains('SMIC').click() cy.contains('Voir ma situation').click() - cy.get('div[role="dialog"]').contains('Temps partiel').click() + cy.get('div[role="dialog"]') + .contains('Temps partiel') + .next() + .find('button') + .click() cy.contains('Oui').click() cy.wait(100) }) diff --git a/site/source/components/ChiffreAffairesActivitéMixte.tsx b/site/source/components/ChiffreAffairesActivitéMixte.tsx index c64e61ec3..007f6bfd9 100644 --- a/site/source/components/ChiffreAffairesActivitéMixte.tsx +++ b/site/source/components/ChiffreAffairesActivitéMixte.tsx @@ -123,7 +123,7 @@ function ActivitéMixte() { ) return ( -
+
-

+

{' '} {' '}

- Crée le{' '} - - - {' '} - et domiciliée à{' '} - - - + + Créee le{' '} + + + {' '} + et domiciliée à{' '} + + + + ) diff --git a/site/source/components/company/SearchField.tsx b/site/source/components/company/SearchField.tsx index ff4d4542f..304f142df 100644 --- a/site/source/components/company/SearchField.tsx +++ b/site/source/components/company/SearchField.tsx @@ -63,7 +63,7 @@ export function CompanySearchField(props: { ) : ( - + {results.map((etablissement) => ( onSubmit?.(etablissement)} compact> diff --git a/site/source/components/conversation/Conversation.tsx b/site/source/components/conversation/Conversation.tsx index 0c9b949e7..fc241ac55 100644 --- a/site/source/components/conversation/Conversation.tsx +++ b/site/source/components/conversation/Conversation.tsx @@ -24,14 +24,10 @@ import { ExplicableRule } from './Explicable' import SeeAnswersButton from './SeeAnswersButton' export type ConversationProps = { - displayNotification: boolean customEndMessages?: React.ReactNode } -export default function Conversation({ - customEndMessages, - displayNotification = true, -}: ConversationProps) { +export default function Conversation({ customEndMessages }: ConversationProps) { const dispatch = useDispatch() const engine = useContext(EngineContext) const currentQuestion = useNextQuestions()[0] @@ -111,7 +107,7 @@ export default function Conversation({ - {displayNotification && } + diff --git a/site/source/components/simulationExplanation/InstitutionsPartenaires.tsx b/site/source/components/simulationExplanation/InstitutionsPartenaires.tsx index 0fae2efec..4af33c577 100644 --- a/site/source/components/simulationExplanation/InstitutionsPartenaires.tsx +++ b/site/source/components/simulationExplanation/InstitutionsPartenaires.tsx @@ -209,17 +209,19 @@ export function InstitutionsPartenairesArtisteAuteur() {

Vos cotisations

- + - - Pour vos revenus en traitement et salaires, ces cotisations - sont « précomptées », c'est à dire payées à la source par le - diffuseur. - + + + Pour vos revenus en traitement et salaires, ces + cotisations sont « précomptées », c'est à dire payées à la + source par le diffuseur. + + } /> diff --git a/site/source/locales/rules-en.yaml b/site/source/locales/rules-en.yaml index 2e34c35f1..8b67f0f9d 100644 --- a/site/source/locales/rules-en.yaml +++ b/site/source/locales/rules-en.yaml @@ -5710,22 +5710,22 @@ dirigeant . indépendant . cotisations et contributions . cotisations: titre.fr: cotisations dirigeant . indépendant . cotisations et contributions . début activité: description.en: > - [automatic] When you start your activity, your **professional income is not - known + [automatic] When you start your activity, your **professional income** is + not known**. - income is not known**, the contributions for the first two years are calculated on a + are not known**, the contributions and fees for the first two years are calculated on a are calculated on a **lump sum basis**. - These contributions will be adjusted and regularized according to your real income of the year of exercise. + These contributions will be adjusted and regularized according to your actual income for the year of the year of the exercise. If your income is higher than the flat rate used to calculate your provisional - for the calculation of the provisional contributions, you will have to pay an **additional + for the calculation of the provisional contributions, you will be required to pay an - of contributions**. + **additional contributions**. @@ -5735,7 +5735,7 @@ dirigeant . indépendant . cotisations et contributions . début activité: **plan your cash flow** accordingly. description.fr: > - Lorsque vous commencez votre activité, vos **revenus professionnels + Lorsque vous commencez votre activité, vos **revenus professionnels** n’étant pas connus**, les cotisations et contributions des deux premières @@ -5747,9 +5747,9 @@ dirigeant . indépendant . cotisations et contributions . début activité: l’année d’exercice. Si votre revenu est supérieur à la base forfaitaire prise en compte - pour le calcul des cotisations provisionnelles alors vous serez redevable d’un **complément + pour le calcul des cotisations provisionnelles alors vous serez redevable d’un - de cotisations**. + **complément de cotisations**. diff --git a/site/source/locales/ui-en.yaml b/site/source/locales/ui-en.yaml index 54249c59f..a78274f8a 100644 --- a/site/source/locales/ui-en.yaml +++ b/site/source/locales/ui-en.yaml @@ -62,6 +62,7 @@ Covid 19: Covid 19 Coût pour l'entreprise: Cost to the company Crée le: Created on "Crée le :": "Created on :" +Créee le <2><0> et domiciliée à <6><0>: Created on <2><0> and domiciled at <6><0> Créer une: Create a De: From Demande de mobilité: Demand for mobility @@ -859,9 +860,9 @@ gérer: cta: Go to monIdeNum.fr title: Get a Kbis extract kbis-autoentrepreneur: - body: Self-employed entrepreneurs do not have a Kbis. However, they can obtain - and present a K extract. See the service-public website for more - information. + body: Sole proprietorships and auto-entrepreneurs do not have a Kbis. However, + they can get and present a K extract. See the service-public website for + more information. cta: Visit the site title: How to get a Kbis extract? sécuritéSociale: diff --git a/site/source/locales/ui-fr.yaml b/site/source/locales/ui-fr.yaml index 7be89302d..1dc2bdbac 100644 --- a/site/source/locales/ui-fr.yaml +++ b/site/source/locales/ui-fr.yaml @@ -32,6 +32,7 @@ Continuer: Continuer Cotisations sociales: Cotisations sociales Crée le: Crée le "Crée le :": "Crée le :" +Créee le <2><0> et domiciliée à <6><0>: Créee le <2><0> et domiciliée à <6><0> Créer une: Créer une Devenir: Devenir "Domiciliée à l'adresse :": "Domiciliée à l'adresse :" @@ -622,9 +623,9 @@ gérer: cta: Aller sur monIdeNum.fr title: Récupérer un extrait de Kbis kbis-autoentrepreneur: - body: Les auto-entrepreneurs n'ont pas de Kbis. Ils peuvent cependant récupérer - et présenter un extrait K. Voir le site du service-public pour plus - d'informations. + body: Les entreprises individuelles et les auto-entrepreneurs n'ont pas de Kbis. + Ils peuvent cependant récupérer et présenter un extrait K. Voir le site + du service-public pour plus d'informations. cta: Visiter le site title: Récupérer un extrait de Kbis? sécuritéSociale: diff --git a/site/source/pages/Gerer/AideDéclarationIndépendant/config.yaml b/site/source/pages/Gerer/AideDéclarationIndépendant/config.yaml index 08622a48d..1df841f12 100644 --- a/site/source/pages/Gerer/AideDéclarationIndépendant/config.yaml +++ b/site/source/pages/Gerer/AideDéclarationIndépendant/config.yaml @@ -2,10 +2,6 @@ objectifs: - déclaration indépendants . cotisations obligatoires déductibles - dirigeant . rémunération . totale - dirigeant . rémunération . nette - - déclaration indépendants . formulaire 2033 - - déclaration indépendants . formulaire 2050 - - déclaration indépendants . formulaire 2042 - - déclaration indépendants . formulaire 2035 situation: dirigeant . régime social: "'indépendant'" diff --git a/site/source/pages/Gerer/AideOrganismeLocal.tsx b/site/source/pages/Gerer/AideOrganismeLocal.tsx deleted file mode 100644 index 789ba7166..000000000 --- a/site/source/pages/Gerer/AideOrganismeLocal.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import { FromTop } from '@/components/ui/animate' -import { Button } from '@/design-system/buttons' -import { H2 } from '@/design-system/typography/heading' -import { Body } from '@/design-system/typography/paragraphs' -import { useTranslation } from 'react-i18next' -import { useSelector } from 'react-redux' -import { RootState } from '@/reducers/rootReducer' -import aideOrganismeSvg from './aideOrganisme.svg' - -const aideMidiPyrenéesAutoEntrepreneur = (state: RootState) => { - const company = state.choixStatutJuridique.existingCompany - if (!company) { - return false - } - return ( - company.isAutoEntrepreneur && - company.localisation && - ['09', '12', '31', '32', '46', '65', '81', '82'].includes( - company.localisation.departement.code - ) - ) -} -export default function AideOrganismeLocal() { - const aideLocale = useSelector(aideMidiPyrenéesAutoEntrepreneur) - const { - i18n: { language }, - } = useTranslation() - if (language !== 'fr' || !aideLocale) { - return null - } - return ( - -
- -

- COVID-19 et auto-entrepreneurs : l'Urssaf Midi-Pyrénées vous - accompagne -

- - Assistez au webinar dédié aux auto-entrepreneur pour faire le point - sur vos échéances et les mesures d’accompagnement. - - -
-
- ) -} diff --git a/site/source/pages/Gerer/DemandeMobilite/demande-mobilité.yaml b/site/source/pages/Gerer/DemandeMobilite/demande-mobilité.yaml index 3ea1aee83..6f94337d5 100644 --- a/site/source/pages/Gerer/DemandeMobilite/demande-mobilité.yaml +++ b/site/source/pages/Gerer/DemandeMobilite/demande-mobilité.yaml @@ -411,6 +411,7 @@ détachement . pays hors UE: détachement . pays hors UE . convention bilatérale: non applicable si: pays = 'Autre' titre: '' + valeur: oui type: groupe description: >- ### Conditions particulières concernant les accords de protections social bilatéraux @@ -771,7 +772,7 @@ pluriactivité: - demande . PAM - demande . PAM . détachement possible = non - demande . salarié = 'pluriactivité' - formule: oui + valeur: oui titre: Demande de pluriactivité type: groupe diff --git a/site/source/pages/Gerer/DemandeMobilite/index.tsx b/site/source/pages/Gerer/DemandeMobilite/index.tsx index ebceaf0a6..da97d3f1f 100644 --- a/site/source/pages/Gerer/DemandeMobilite/index.tsx +++ b/site/source/pages/Gerer/DemandeMobilite/index.tsx @@ -106,6 +106,7 @@ function FormulairePublicodes() { {} ) ).map((dottedName) => engine.getRule(dottedName)) + console.log(missingValues) return ( <> diff --git a/site/source/pages/Gerer/Home.tsx b/site/source/pages/Gerer/Home.tsx index 273a50ed6..b9a284bbf 100644 --- a/site/source/pages/Gerer/Home.tsx +++ b/site/source/pages/Gerer/Home.tsx @@ -22,7 +22,6 @@ import styled from 'styled-components' import { TrackPage } from '../../ATInternetTracking' import { SimulateurCard } from '../Simulateurs/Home' import useSimulatorsData, { SimulatorData } from '../Simulateurs/metadata' -import AideOrganismeLocal from './AideOrganismeLocal' import { AutoEntrepreneurCard } from './cards/AutoEntrepeneurCard' import { DemarcheEmbaucheCard } from './cards/DemarcheEmbauche' import { KbisCard } from './cards/KBISCard' @@ -193,8 +192,6 @@ export default function Gérer() { )} - -

Ressources utiles

@@ -214,15 +211,11 @@ export default function Gérer() {
- - - - - +
diff --git a/site/source/pages/Gerer/cards/KBISCard.tsx b/site/source/pages/Gerer/cards/KBISCard.tsx index b4cb8c821..00d75c6ea 100644 --- a/site/source/pages/Gerer/cards/KBISCard.tsx +++ b/site/source/pages/Gerer/cards/KBISCard.tsx @@ -1,51 +1,51 @@ +import { WhenApplicable, WhenNotApplicable } from '@/components/EngineValue' import { Article } from '@/design-system/card' import { Trans, useTranslation } from 'react-i18next' -import { DirigeantOrNull } from '../Home' -type KbisCardProps = { - dirigeant: DirigeantOrNull -} - -export function KbisCard({ dirigeant }: KbisCardProps) { +export function KbisCard() { const { t, i18n } = useTranslation() - if (dirigeant === 'auto-entrepreneur') { - return ( -
- - Les auto-entrepreneurs n'ont pas de Kbis. Ils peuvent cependant - récupérer et présenter un extrait K. Voir le site du service-public - pour plus d'informations. - -
- ) - } - return ( -
- - Le Kbis est un document permettant de justifier de l'enregistrement de - l'entreprise au{' '} - RCS et de - prouver son existence légale. Ce document peut être récupéré - gratuitement pour votre entreprise via le site MonIdeNum. - -
+ <> + +
+ + Les entreprises individuelles et les auto-entrepreneurs n'ont pas de + Kbis. Ils peuvent cependant récupérer et présenter un extrait K. + Voir le site du service-public pour plus d'informations. + +
+
+ +
+ + Le Kbis est un document permettant de justifier de l'enregistrement + de l'entreprise au{' '} + RCS et de + prouver son existence légale. Ce document peut être récupéré + gratuitement pour votre entreprise via le site MonIdeNum. + +
+
+ ) } diff --git a/site/source/pages/Landing/ContinueWithCompany.tsx b/site/source/pages/Landing/ContinueWithCompany.tsx deleted file mode 100644 index 9e69422c9..000000000 --- a/site/source/pages/Landing/ContinueWithCompany.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { Grid } from '@mui/material' -import CompanySearchDetails from '@/components/company/SearchDetails' -import { SitePathsContext } from '@/components/utils/SitePathsContext' -import { Card } from '@/design-system/card' -import { H3 } from '@/design-system/typography/heading' -import { useContext } from 'react' -import { Trans } from 'react-i18next' -import { Company } from '@/reducers/choixStatutJuridiqueReducer' - -type ContinueWithCompanyProps = { - company: Company -} - -export const ContinueWithCompany = ({ company }: ContinueWithCompanyProps) => { - const sitePaths = useContext(SitePathsContext) - - return ( - <> -

- - Continuer avec l'entreprise - -

- - - - - - - - - ) -} diff --git a/site/source/pages/Landing/Landing.tsx b/site/source/pages/Landing/Landing.tsx index c8a054bc1..eed8f1092 100644 --- a/site/source/pages/Landing/Landing.tsx +++ b/site/source/pages/Landing/Landing.tsx @@ -1,4 +1,3 @@ -import { Grid } from '@mui/material' import Footer from '@/components/layout/Footer/Footer' import Header from '@/components/layout/Header' import PageHeader from '@/components/PageHeader' @@ -9,14 +8,12 @@ import { Container, Spacing } from '@/design-system/layout' import { H2 } from '@/design-system/typography/heading' import { Link } from '@/design-system/typography/link' import { Body, Intro } from '@/design-system/typography/paragraphs' +import { Grid } from '@mui/material' import { useContext } from 'react' import { Trans } from 'react-i18next' -import { useSelector } from 'react-redux' -import { RootState } from '@/reducers/rootReducer' import { TrackPage } from '../../ATInternetTracking' import { SimulateurCard } from '../Simulateurs/Home' import useSimulatorsData from '../Simulateurs/metadata' -import { ContinueWithCompany } from './ContinueWithCompany' import illustrationSvg from './illustration.svg' import illustration2Svg from './illustration2.svg' import SearchOrCreate from './SearchOrCreate' diff --git a/site/source/pages/Simulateurs/configs/artiste-auteur.yaml b/site/source/pages/Simulateurs/configs/artiste-auteur.yaml index df5446906..a910fc88e 100644 --- a/site/source/pages/Simulateurs/configs/artiste-auteur.yaml +++ b/site/source/pages/Simulateurs/configs/artiste-auteur.yaml @@ -1,6 +1,6 @@ situation: dirigeant: non - contrat salarié: non + unité par défaut: €/an objectifs: - artiste-auteur . cotisations diff --git a/site/source/pages/Simulateurs/configs/salarié.yaml b/site/source/pages/Simulateurs/configs/salarié.yaml index a6b7a53d8..411bbf4de 100644 --- a/site/source/pages/Simulateurs/configs/salarié.yaml +++ b/site/source/pages/Simulateurs/configs/salarié.yaml @@ -25,6 +25,7 @@ questions: unité par défaut: €/mois situation: dirigeant: non + entreprise . catégorie juridique: non contrat salarié . activité partielle: non impôt . méthode de calcul . par défaut: # On utilise le taux neutre qui est plus rapide à calculer et qui correspond diff --git a/site/test/persistence.test.ts b/site/test/persistence.test.ts index 72bf61fb5..dc8d7017c 100644 --- a/site/test/persistence.test.ts +++ b/site/test/persistence.test.ts @@ -29,7 +29,6 @@ const initialSimulation: Simulation = { url: '/someurl', hiddenNotifications: [], situation: {}, - companySituation: {}, targetUnit: '€/mois', foldedSteps: ['somestep' as DottedName], unfoldedStep: null, diff --git a/site/test/regressions/__snapshots__/simulations.test.ts.snap b/site/test/regressions/__snapshots__/simulations.test.ts.snap index c0fcfe218..e43f0c4f7 100644 --- a/site/test/regressions/__snapshots__/simulations.test.ts.snap +++ b/site/test/regressions/__snapshots__/simulations.test.ts.snap @@ -1,79 +1,79 @@ // Vitest Snapshot v1 -exports[`calculate aide-déclaration-indépendant > ACRE 1`] = `"[9020,50000,36345,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > ACRE 1`] = `"[9020,50000,36345]"`; -exports[`calculate aide-déclaration-indépendant > ACRE 2`] = `"[913,15000,12630,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > ACRE 2`] = `"[913,15000,12630]"`; -exports[`calculate aide-déclaration-indépendant > ACRE 3`] = `"[300,5000,4152,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > ACRE 3`] = `"[300,5000,4152]"`; -exports[`calculate aide-déclaration-indépendant > ACRE 4`] = `"[1487,10000,7511,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > ACRE 4`] = `"[1487,10000,7511]"`; -exports[`calculate aide-déclaration-indépendant > ACRE 5`] = `"[606,10000,8392,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > ACRE 5`] = `"[606,10000,8392]"`; -exports[`calculate aide-déclaration-indépendant > IJSS (indemnité sécurité sociale) 1`] = `"[11409,50000,34048,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > IJSS (indemnité sécurité sociale) 1`] = `"[11409,50000,34048]"`; -exports[`calculate aide-déclaration-indépendant > RSA 1`] = `"[82,500,279,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > RSA 1`] = `"[82,500,279]"`; -exports[`calculate aide-déclaration-indépendant > RSA 2`] = `"[1021,5000,3431,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > RSA 2`] = `"[1021,5000,3431]"`; -exports[`calculate aide-déclaration-indépendant > conjoint collaborateur 1`] = `"[14093,50000,31238,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > conjoint collaborateur 1`] = `"[14093,50000,31238]"`; -exports[`calculate aide-déclaration-indépendant > conjoint collaborateur 2`] = `"[13578,50000,31753,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > conjoint collaborateur 2`] = `"[13578,50000,31753]"`; -exports[`calculate aide-déclaration-indépendant > conjoint collaborateur 3`] = `"[11461,50000,33870,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > conjoint collaborateur 3`] = `"[11461,50000,33870]"`; -exports[`calculate aide-déclaration-indépendant > conjoint collaborateur 4`] = `"[14097,50000,31254,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > conjoint collaborateur 4`] = `"[14097,50000,31254]"`; -exports[`calculate aide-déclaration-indépendant > conjoint collaborateur 5`] = `"[11461,50000,33870,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > conjoint collaborateur 5`] = `"[11461,50000,33870]"`; -exports[`calculate aide-déclaration-indépendant > débit de tabac 1`] = `"[5652,50000,39713,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > débit de tabac 1`] = `"[5652,50000,39713]"`; exports[`calculate aide-déclaration-indépendant > international 1`] = ` -"[14610,50000,35287,0,1,1,0] +"[14610,50000,35287] Notifications affichées : impôt . domiciliation étranger non implémentée" `; -exports[`calculate aide-déclaration-indépendant > international 2`] = `"[11875,50000,36215,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > international 2`] = `"[11875,50000,36215]"`; -exports[`calculate aide-déclaration-indépendant > nature de l'activité 1`] = `"[11365,50000,33986,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > nature de l'activité 1`] = `"[11365,50000,33986]"`; -exports[`calculate aide-déclaration-indépendant > nature de l'activité 2`] = `"[1368,5000,3069,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > nature de l'activité 2`] = `"[1368,5000,3069]"`; -exports[`calculate aide-déclaration-indépendant > nature de l'activité 3`] = `"[11369,50000,33996,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > nature de l'activité 3`] = `"[11369,50000,33996]"`; -exports[`calculate aide-déclaration-indépendant > nature de l'activité 4`] = `"[1369,5000,3083,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > nature de l'activité 4`] = `"[1369,5000,3083]"`; -exports[`calculate aide-déclaration-indépendant > nature de l'activité 5`] = `"[11369,50000,33996,0,0,1,1]"`; +exports[`calculate aide-déclaration-indépendant > nature de l'activité 5`] = `"[11369,50000,33996]"`; -exports[`calculate aide-déclaration-indépendant > nature de l'activité 6`] = `"[1369,5000,3083,0,0,1,1]"`; +exports[`calculate aide-déclaration-indépendant > nature de l'activité 6`] = `"[1369,5000,3083]"`; -exports[`calculate aide-déclaration-indépendant > nature de l'activité 7`] = `"[9454,50000,35911,0,0,1,1]"`; +exports[`calculate aide-déclaration-indépendant > nature de l'activité 7`] = `"[9454,50000,35911]"`; exports[`calculate aide-déclaration-indépendant > échelle de revenus 1`] = ` -"[1042,500,-681,0,1,1,0] +"[1042,500,-681] Notifications affichées : entreprise . imposition . IR . information sur le report de déficit" `; exports[`calculate aide-déclaration-indépendant > échelle de revenus 2`] = ` -"[1042,1000,-226,0,1,1,0] +"[1042,1000,-226] Notifications affichées : entreprise . imposition . IR . information sur le report de déficit" `; -exports[`calculate aide-déclaration-indépendant > échelle de revenus 3`] = `"[1067,1500,203,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > échelle de revenus 3`] = `"[1067,1500,203]"`; -exports[`calculate aide-déclaration-indépendant > échelle de revenus 4`] = `"[1110,2000,614,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > échelle de revenus 4`] = `"[1110,2000,614]"`; -exports[`calculate aide-déclaration-indépendant > échelle de revenus 5`] = `"[1369,5000,3083,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > échelle de revenus 5`] = `"[1369,5000,3083]"`; -exports[`calculate aide-déclaration-indépendant > échelle de revenus 6`] = `"[2204,10000,6794,0,1,1,0]"`; +exports[`calculate aide-déclaration-indépendant > échelle de revenus 6`] = `"[2204,10000,6794]"`; exports[`calculate aide-déclaration-indépendant > échelle de revenus 7`] = ` -"[20928,100000,69895,0,1,1,0] +"[20928,100000,69895] Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" `; exports[`calculate aide-déclaration-indépendant > échelle de revenus 8`] = ` -"[106447,1000000,802635,0,1,1,0] +"[106447,1000000,802635] Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" `; @@ -187,30 +187,15 @@ exports[`calculate simulations-impot-société > bénéfices 4`] = `"[3000,0]"`; exports[`calculate simulations-impot-société > bénéfices 5`] = `"[48628,0]"`; -exports[`calculate simulations-impot-société > bénéfices 6`] = ` -"[525628,0] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; +exports[`calculate simulations-impot-société > bénéfices 6`] = `"[525628,0]"`; -exports[`calculate simulations-impot-société > bénéfices 7`] = ` -"[5295628,149646] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; +exports[`calculate simulations-impot-société > bénéfices 7`] = `"[5295628,149646]"`; -exports[`calculate simulations-impot-société > prorata temporis 1`] = ` -"[260628,0] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; +exports[`calculate simulations-impot-société > prorata temporis 1`] = `"[260628,0]"`; -exports[`calculate simulations-impot-société > prorata temporis 2`] = ` -"[277936,0] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; +exports[`calculate simulations-impot-société > prorata temporis 2`] = `"[277936,0]"`; -exports[`calculate simulations-impot-société > prorata temporis 3`] = ` -"[272981,0] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; +exports[`calculate simulations-impot-société > prorata temporis 3`] = `"[272981,0]"`; exports[`calculate simulations-indépendant > acre 1`] = `"[73019,23019,50000,51980,9516,40484,0,73019,1408]"`; @@ -422,12 +407,17 @@ exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > C exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > Contrats Madelin 4`] = `"[917,10998,0,10679,4,20]"`; -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > Contrats Madelin 5`] = `"[14490,173883,0,151717,4,47]"`; +exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > Contrats Madelin 5`] = ` +"[14490,173883,0,151717,4,47] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > Contrats Madelin 6`] = `"[917,10998,0,10679,4,20]"`; exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > Contrats Madelin 7`] = `"[917,10998,0,10679,4,20]"`; +exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > JEI 1`] = `"[2829,33949,0,32329,4,47]"`; + exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > activités 1`] = `"[917,10998,0,10679,4,20]"`; exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > activités 2`] = `"[917,10998,0,10679,4,0]"`; @@ -458,7 +448,10 @@ exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > échelle de rémunération 7`] = `"[2341,28096,0,26893,4,47]"`; -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > échelle de rémunération 8`] = `"[4758,57101,0,52069,4,47]"`; +exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > échelle de rémunération 8`] = ` +"[4758,57101,0,52069,4,47] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > ACRE 1`] = ` "[0,9350,9350,1450,2,0] @@ -492,6 +485,8 @@ exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > Co exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > Contrats Madelin 7`] = `"[0,17420,17420,2900,3,8]"`; +exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > JEI 1`] = `"[2829,33949,0,32329,4,47]"`; + exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > activités 1`] = `"[0,15560,15560,6600,4,18]"`; exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > activités 2`] = `"[0,15520,15520,6600,4,0]"`; @@ -550,6 +545,8 @@ exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrat exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 7`] = `"[0,6868,0,10095,4,21]"`; +exports[`calculate simulations-rémunération-dirigeant (indépendant) > JEI 1`] = `"[2829,33949,0,32329,4,47]"`; + exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 1`] = `"[0,13768,0,10095,4,21]"`; exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 2`] = `"[0,14409,0,null,4,0]"`; @@ -638,8 +635,6 @@ exports[`calculate simulations-salarié > JEI 2`] = ` Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" `; -exports[`calculate simulations-salarié > JEI 3`] = `"[4511,0,4000,3141,2745]"`; - exports[`calculate simulations-salarié > activité partielle 1`] = ` "[20,0,1560,1247,1247] Notifications affichées : contrat salarié . rémunération . contrôle smic" @@ -710,12 +705,6 @@ exports[`calculate simulations-salarié > apprentissage 2`] = ` Notifications affichées : contrat salarié . rémunération . contrôle smic" `; -exports[`calculate simulations-salarié > assimilé salarié 1`] = `"[7010,0,5000,3943,3286]"`; - -exports[`calculate simulations-salarié > assimilé salarié 2`] = `"[2121,0,1500,1163,1163]"`; - -exports[`calculate simulations-salarié > assimilé salarié 3`] = `"[4222,0,3000,2348,2161]"`; - exports[`calculate simulations-salarié > atmp 1`] = `"[2474,0,2000,1561,1527]"`; exports[`calculate simulations-salarié > avantages 1`] = `"[2607,0,2000,1540,1490]"`; diff --git a/site/test/regressions/simulations-rémunération-dirigeant.yaml b/site/test/regressions/simulations-rémunération-dirigeant.yaml index b4ad6c378..0f25ebc0a 100644 --- a/site/test/regressions/simulations-rémunération-dirigeant.yaml +++ b/site/test/regressions/simulations-rémunération-dirigeant.yaml @@ -87,3 +87,8 @@ Contrats Madelin: dirigeant . indépendant . cotisations facultatives . PER: 5500 €/an dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance: 500 €/an dirigeant . indépendant . cotisations facultatives . contrats madelin . retraite: 900 €/an + +JEI: + - dirigeant . rémunération . totale: 4000 €/mois + dirigeant . régime social: "'assimilé salarié'" + contrat salarié . statut JEI: oui diff --git a/site/test/regressions/simulations-salarié.yaml b/site/test/regressions/simulations-salarié.yaml index 7d0b9e7bd..639d2922e 100644 --- a/site/test/regressions/simulations-salarié.yaml +++ b/site/test/regressions/simulations-salarié.yaml @@ -255,9 +255,6 @@ JEI: contrat salarié . statut JEI: oui - contrat salarié . rémunération . brut de base: 20000 €/mois contrat salarié . statut JEI: oui - - contrat salarié . rémunération . brut de base: 4000 €/mois - dirigeant . régime social: "'assimilé salarié'" - contrat salarié . statut JEI: oui frais pro - titres restaurant: - contrat salarié . rémunération . brut de base: 2000 €/mois diff --git a/site/test/regressions/simulations.test.ts b/site/test/regressions/simulations.test.ts index 752b9e9e0..85679d8fa 100644 --- a/site/test/regressions/simulations.test.ts +++ b/site/test/regressions/simulations.test.ts @@ -30,7 +30,11 @@ import employeeSituations from './simulations-salarié.yaml' type SituationsSpecs = Record const roundResult = (arr: number[]) => arr.map((x) => Math.round(x)) const engine = engineFactory(rules, { - logger: { warn: () => {}, error: (m) => console.error(m), log: () => {} }, + logger: { + warn: () => undefined, + error: (m: string) => console.error(m), + log: () => undefined, + }, }) const runSimulations = ( situationsSpecs: SituationsSpecs, @@ -56,7 +60,7 @@ const runSimulations = ( .filter( (rule) => rule.rawNode['type'] === 'notification' && - !!engine.evaluate(rule.dottedName).nodeValue + engine.evaluate(rule.dottedName).nodeValue === true ) .map((node) => node.dottedName) diff --git a/yarn.lock b/yarn.lock index 5e0da51f8..2f7d150a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15827,28 +15827,30 @@ __metadata: languageName: node linkType: hard -"publicodes-react@portal:/home/johan/Projets/publicodes/packages/react-ui::locator=root%40workspace%3A.": - version: 0.0.0-use.local - resolution: "publicodes-react@portal:/home/johan/Projets/publicodes/packages/react-ui::locator=root%40workspace%3A." +"publicodes-react@npm:^1.0.0-beta.32": + version: 1.0.0-beta.32 + resolution: "publicodes-react@npm:1.0.0-beta.32" dependencies: styled-components: ^5.1.0 peerDependencies: publicodes: 1.0.0-beta.32 react: ^17.0.2 + checksum: 2cdf91420982e909869cf9ddc1754943d4e5e8bef7545e4d5afdfc202eb1bbdcb33197bb4ad2978f6cfd02aad3229ec53061ff06680c9f2917638fde79b98b28 languageName: node - linkType: soft + linkType: hard -"publicodes@portal:/home/johan/Projets/publicodes/packages/core::locator=root%40workspace%3A.": - version: 0.0.0-use.local - resolution: "publicodes@portal:/home/johan/Projets/publicodes/packages/core::locator=root%40workspace%3A." +"publicodes@npm:^1.0.0-beta.32": + version: 1.0.0-beta.32 + resolution: "publicodes@npm:1.0.0-beta.32" dependencies: moo: ^0.5.1 nearley: ^2.19.2 yaml: ^1.9.2 peerDependencies: "@types/mocha": ^9.0.0 + checksum: 674a5f1ee9f755cf8f9fd2312523ee70f3963b1c8cb9e0249919ad48269f3dbe831d4fe3e1c13400216bd21b34d2bbd5f71e571b3adc210ebdb1c2dc18ee72d6 languageName: node - linkType: soft + linkType: hard "pump@npm:^2.0.0": version: 2.0.1