From 1aba41ebf119daa9577d67aeac43331b91f3212e Mon Sep 17 00:00:00 2001 From: Maxime Quandalle Date: Tue, 3 May 2022 15:44:56 +0200 Subject: [PATCH] Ajout de snapshots pour les variables manquantes (#2115) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Ajout de snapshots pour les variables manquantes * Parallelise l'execution des tests de non regression Sur mon ordi le temps total d'exectution des tests est divisé par 2 : ~60s → ~30s * Déplace les tests de régression "rémunération dirigeant" Au sein des différentes catégories auto-entrepreneur, indépendant et assimilé salarié. Évite de jouer certains tests en double, ainsi que certains tests qui correspondent à des situations impossibles (exemple dirigeant SASU avec ACRE). --- .../simulations-artiste-auteur.test.ts.snap | 19 + ...simulations-auto-entrepreneur.test.ts.snap | 72 ++ .../simulations-dividendes.test.ts.snap | 21 + .../simulations-impôt-société.test.ts.snap | 24 + .../simulations-indépendant.test.ts.snap | 124 ++ ...lations-professions-libérales.test.ts.snap | 146 +++ .../simulations-salarié.test.ts.snap | 439 +++++++ .../__snapshots__/simulations.test.ts.snap | 1091 ----------------- .../simulations-artiste-auteur.test.ts | 12 + .../simulations-assimilé-salarié.ts | 15 + .../simulations-assimilé-salarié.yaml | 31 + .../simulations-auto-entrepreneur.test.ts | 35 + .../simulations-auto-entrepreneur.yaml | 19 + .../simulations-dividendes.test.ts | 19 + .../simulations-impôt-société.test.ts | 17 + .../simulations-indépendant.test.ts | 20 + .../regressions/simulations-indépendant.yaml | 44 + .../simulations-professions-libérales.test.ts | 15 + .../simulations-rémunération-dirigeant.yaml | 94 -- .../regressions/simulations-salarié.test.ts | 45 + site/test/regressions/simulations.test.ts | 200 --- site/test/regressions/utils.ts | 69 ++ 22 files changed, 1186 insertions(+), 1385 deletions(-) create mode 100644 site/test/regressions/__snapshots__/simulations-artiste-auteur.test.ts.snap create mode 100644 site/test/regressions/__snapshots__/simulations-auto-entrepreneur.test.ts.snap create mode 100644 site/test/regressions/__snapshots__/simulations-dividendes.test.ts.snap create mode 100644 site/test/regressions/__snapshots__/simulations-impôt-société.test.ts.snap create mode 100644 site/test/regressions/__snapshots__/simulations-indépendant.test.ts.snap create mode 100644 site/test/regressions/__snapshots__/simulations-professions-libérales.test.ts.snap create mode 100644 site/test/regressions/__snapshots__/simulations-salarié.test.ts.snap delete mode 100644 site/test/regressions/__snapshots__/simulations.test.ts.snap create mode 100644 site/test/regressions/simulations-artiste-auteur.test.ts create mode 100644 site/test/regressions/simulations-assimilé-salarié.ts create mode 100644 site/test/regressions/simulations-assimilé-salarié.yaml create mode 100644 site/test/regressions/simulations-auto-entrepreneur.test.ts create mode 100644 site/test/regressions/simulations-dividendes.test.ts create mode 100644 site/test/regressions/simulations-impôt-société.test.ts create mode 100644 site/test/regressions/simulations-indépendant.test.ts create mode 100644 site/test/regressions/simulations-professions-libérales.test.ts delete mode 100644 site/test/regressions/simulations-rémunération-dirigeant.yaml create mode 100644 site/test/regressions/simulations-salarié.test.ts delete mode 100644 site/test/regressions/simulations.test.ts create mode 100644 site/test/regressions/utils.ts diff --git a/site/test/regressions/__snapshots__/simulations-artiste-auteur.test.ts.snap b/site/test/regressions/__snapshots__/simulations-artiste-auteur.test.ts.snap new file mode 100644 index 000000000..b49e5718b --- /dev/null +++ b/site/test/regressions/__snapshots__/simulations-artiste-auteur.test.ts.snap @@ -0,0 +1,19 @@ +// Vitest Snapshot v1 + +exports[`calculate simulations-artiste-auteur > bnc 1`] = `"[763]"`; + +exports[`calculate simulations-artiste-auteur > bnc 2`] = `"[1156]"`; + +exports[`calculate simulations-artiste-auteur > bnc 3`] = ` +"[578] +Notifications affichées : artiste-auteur . cotisations . avertissement trimestres retraite" +`; + +exports[`calculate simulations-artiste-auteur > salarié 1`] = ` +"[99] +Notifications affichées : artiste-auteur . cotisations . avertissement trimestres retraite" +`; + +exports[`calculate simulations-artiste-auteur > salarié 2`] = `"[988]"`; + +exports[`calculate simulations-artiste-auteur > salarié 3`] = `"[9880]"`; diff --git a/site/test/regressions/__snapshots__/simulations-auto-entrepreneur.test.ts.snap b/site/test/regressions/__snapshots__/simulations-auto-entrepreneur.test.ts.snap new file mode 100644 index 000000000..f4565cfe5 --- /dev/null +++ b/site/test/regressions/__snapshots__/simulations-auto-entrepreneur.test.ts.snap @@ -0,0 +1,72 @@ +// Vitest Snapshot v1 + +exports[`calculate simulations-auto-entrepreneur > ACRE 1`] = `"[22962,247,20000,0,20000]"`; + +exports[`calculate simulations-auto-entrepreneur > ACRE 2`] = ` +"[22630,219,20000,0,20000] +Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" +`; + +exports[`calculate simulations-auto-entrepreneur > ACRE 3`] = `"[34443,370,30000,0,30000]"`; + +exports[`calculate simulations-auto-entrepreneur > ACRE 4`] = ` +"[45273,439,40000,0,40000] +Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" +`; + +exports[`calculate simulations-auto-entrepreneur > ACRE 5`] = ` +"[21390,116,20000,0,20000] +Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" +`; + +exports[`calculate simulations-auto-entrepreneur > activité mixte 1`] = `"[20000,292,16500,0,16500]"`; + +exports[`calculate simulations-auto-entrepreneur > activité mixte 2`] = `"[20000,318,16180,0,16180]"`; + +exports[`calculate simulations-auto-entrepreneur > activité mixte 3`] = `"[20000,301,16388,0,16388]"`; + +exports[`calculate simulations-auto-entrepreneur > activité mixte 4`] = `"[null,715,null,null,null]"`; + +exports[`calculate simulations-auto-entrepreneur > activités 1`] = `"[20000,370,15560,0,15560]"`; + +exports[`calculate simulations-auto-entrepreneur > activités 2`] = `"[20000,373,15520,0,15520]"`; + +exports[`calculate simulations-auto-entrepreneur > activités 3`] = `"[20000,222,17332,0,17332]"`; + +exports[`calculate simulations-auto-entrepreneur > activités 4`] = `"[20000,380,15444,0,15444]"`; + +exports[`calculate simulations-auto-entrepreneur > activités 5`] = `"[20000,215,17420,0,17420]"`; + +exports[`calculate simulations-auto-entrepreneur > activités 6`] = `"[20000,369,15568,0,15568]"`; + +exports[`calculate simulations-auto-entrepreneur > aides 1`] = `"[5741,62,5000,0,5000]"`; + +exports[`calculate simulations-auto-entrepreneur > aides 2`] = `"[57419,618,50000,237,49763]"`; + +exports[`calculate simulations-auto-entrepreneur > impôt sur le revenu 1`] = `"[32134,594,25000,707,24293]"`; + +exports[`calculate simulations-auto-entrepreneur > échelle de revenus 1`] = `"[574,6,500,0,500]"`; + +exports[`calculate simulations-auto-entrepreneur > échelle de revenus 2`] = `"[1148,12,1000,0,1000]"`; + +exports[`calculate simulations-auto-entrepreneur > échelle de revenus 3`] = `"[2296,25,2000,0,2000]"`; + +exports[`calculate simulations-auto-entrepreneur > échelle de revenus 4`] = `"[5741,62,5000,0,5000]"`; + +exports[`calculate simulations-auto-entrepreneur > échelle de revenus 5`] = `"[11481,123,10000,0,10000]"`; + +exports[`calculate simulations-auto-entrepreneur > échelle de revenus 6`] = `"[22962,247,20000,0,20000]"`; + +exports[`calculate simulations-auto-entrepreneur > échelle de revenus 7`] = `"[57419,618,50000,237,49763]"`; + +exports[`calculate simulations-auto-entrepreneur > échelle de revenus 8`] = `"[80381,865,70000,1301,68699]"`; + +exports[`calculate simulations-auto-entrepreneur > échelle de revenus 9`] = ` +"[114824,1235,100000,3912,96088] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-auto-entrepreneur > échelle de revenus 10`] = ` +"[1148298,12358,1000000,131652,868348] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement, entreprise . imposition . régime . micro-entreprise . alerte seuil dépassés" +`; diff --git a/site/test/regressions/__snapshots__/simulations-dividendes.test.ts.snap b/site/test/regressions/__snapshots__/simulations-dividendes.test.ts.snap new file mode 100644 index 000000000..5d1abab63 --- /dev/null +++ b/site/test/regressions/__snapshots__/simulations-dividendes.test.ts.snap @@ -0,0 +1,21 @@ +// Vitest Snapshot v1 + +exports[`calculate simulations-dividendes > barème couple 2 enfants 1`] = `"[200,166,34,0,112,112,0]"`; + +exports[`calculate simulations-dividendes > barème couple 2 enfants 2`] = `"[20000000,11149363,3440000,5410637,11184000,11184000,48]"`; + +exports[`calculate simulations-dividendes > barème couple 2 enfants 3`] = `"[200,112,34,40,112,112,36]"`; + +exports[`calculate simulations-dividendes > barème couple 2 enfants 4`] = `"[20000,14985,3440,613,11184,11184,5]"`; + +exports[`calculate simulations-dividendes > barème défauts 1`] = `"[200,166,34,0,112,112,0]"`; + +exports[`calculate simulations-dividendes > barème défauts 2`] = `"[20000000,11113031,3440000,5446969,11184000,11184000,49]"`; + +exports[`calculate simulations-dividendes > barème défauts 3`] = `"[200,111,34,47,112,112,42]"`; + +exports[`calculate simulations-dividendes > barème défauts 4`] = `"[20000,13205,3440,2244,11184,11184,20]"`; + +exports[`calculate simulations-dividendes > pfu 1`] = `"[200,140,34,26,120,120,0]"`; + +exports[`calculate simulations-dividendes > pfu 2`] = `"[20000000,14000000,3440000,2560000,12000000,12000000,0]"`; diff --git a/site/test/regressions/__snapshots__/simulations-impôt-société.test.ts.snap b/site/test/regressions/__snapshots__/simulations-impôt-société.test.ts.snap new file mode 100644 index 000000000..ac4fccde2 --- /dev/null +++ b/site/test/regressions/__snapshots__/simulations-impôt-société.test.ts.snap @@ -0,0 +1,24 @@ +// Vitest Snapshot v1 + +exports[`calculate simulations-impot-société > bénéfices 1`] = ` +"[0,0] +Notifications affichées : entreprise . imposition . IS . information sur le report de déficit" +`; + +exports[`calculate simulations-impot-société > bénéfices 2`] = `"[0,0]"`; + +exports[`calculate simulations-impot-société > bénéfices 3`] = `"[300,0]"`; + +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]"`; + +exports[`calculate simulations-impot-société > bénéfices 7`] = `"[5295628,149646]"`; + +exports[`calculate simulations-impot-société > prorata temporis 1`] = `"[260628,0]"`; + +exports[`calculate simulations-impot-société > prorata temporis 2`] = `"[277936,0]"`; + +exports[`calculate simulations-impot-société > prorata temporis 3`] = `"[272981,0]"`; diff --git a/site/test/regressions/__snapshots__/simulations-indépendant.test.ts.snap b/site/test/regressions/__snapshots__/simulations-indépendant.test.ts.snap new file mode 100644 index 000000000..1574dbcdc --- /dev/null +++ b/site/test/regressions/__snapshots__/simulations-indépendant.test.ts.snap @@ -0,0 +1,124 @@ +// Vitest Snapshot v1 + +exports[`calculate simulations-indépendant > acre 1`] = `"[73019,23019,50000,51980,9516,40484,0,73019,1408]"`; + +exports[`calculate simulations-indépendant > activité 1`] = `"[29086,9086,20000,20787,898,19102,0,29086,3559]"`; + +exports[`calculate simulations-indépendant > activité 2`] = `"[29102,9102,20000,20787,898,19102,0,29102,3575]"`; + +exports[`calculate simulations-indépendant > conjoint collaborateur 1`] = `"[77175,27175,50000,52092,9550,40450,0,77175,7308]"`; + +exports[`calculate simulations-indépendant > conjoint collaborateur 2`] = `"[78236,28236,50000,52121,9558,40442,0,78236,4487]"`; + +exports[`calculate simulations-indépendant > conjoint collaborateur 3`] = `"[80757,30757,50000,52189,9579,40421,0,80757,4811]"`; + +exports[`calculate simulations-indépendant > conjoint collaborateur 4`] = `"[75298,25298,50000,52041,9534,40466,0,75298,3809]"`; + +exports[`calculate simulations-indépendant > conjoint collaborateur 5`] = `"[75297,25297,50000,52041,9534,40466,0,75297,3951]"`; + +exports[`calculate simulations-indépendant > conjoint collaborateur 6`] = ` +"[652221,152221,500000,517706,220485,279515,0,652221,4487] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-indépendant > contrats madelin 1`] = `"[30000,13181,16819,17881,433,16386,10000,40000,3559]"`; + +exports[`calculate simulations-indépendant > contrats madelin 2`] = `"[30000,14381,15619,17881,433,15186,10000,40000,3559]"`; + +exports[`calculate simulations-indépendant > contrats madelin 3`] = `"[30000,10381,19619,20431,841,18778,10000,40000,3559]"`; + +exports[`calculate simulations-indépendant > contrats madelin 4`] = `"[20000,6732,13268,13809,0,13268,1000,21000,3559]"`; + +exports[`calculate simulations-indépendant > contrats madelin 5`] = ` +"[300000,79617,220383,228526,82145,138238,15000,315000,3559] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-indépendant > contrats madelin 6`] = `"[20000,6832,13168,13709,0,13168,500,20500,3559]"`; + +exports[`calculate simulations-indépendant > contrats madelin 7`] = `"[20000,13132,6868,9695,0,6868,0,20000,3559]"`; + +exports[`calculate simulations-indépendant > cotisations facultatives 1`] = `"[30000,13181,16819,17881,433,16386,0,30000,3559]"`; + +exports[`calculate simulations-indépendant > cotisations facultatives 2`] = `"[30000,14381,15619,17881,433,15186,0,30000,3559]"`; + +exports[`calculate simulations-indépendant > cotisations facultatives 3`] = `"[30000,10381,19619,20431,841,18778,0,30000,3559]"`; + +exports[`calculate simulations-indépendant > cotisations facultatives 4`] = `"[20000,6732,13268,13809,0,13268,0,20000,3559]"`; + +exports[`calculate simulations-indépendant > cotisations facultatives 5`] = ` +"[300000,79617,220383,228526,82145,138238,0,300000,3559] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-indépendant > cotisations facultatives 6`] = ` +"[300000,83117,216883,225026,80570,136313,0,300000,3559] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-indépendant > cotisations minimales 1`] = `"[1375,1275,100,135,0,100,0,1375,3559]"`; + +exports[`calculate simulations-indépendant > cotisations minimales 2`] = `"[244,144,100,104,0,100,0,244,3211]"`; + +exports[`calculate simulations-indépendant > exonération covid 1`] = `"[71347,21347,50000,51815,9550,40450,0,71347,103]"`; + +exports[`calculate simulations-indépendant > exonération covid 2`] = `"[500,12977,50000,51032,9315,40685,0,62977,103]"`; + +exports[`calculate simulations-indépendant > exonération covid 3`] = `"[50000,17475,50000,51440,9438,40562,0,67475,140]"`; + +exports[`calculate simulations-indépendant > exonération pension invalidité 1`] = ` +"[45000,10908,34092,35311,4515,29577,0,45000,2350] +Notifications affichées : dirigeant . indépendant . cotisations et contributions . exonérations . pension invalidité" +`; + +exports[`calculate simulations-indépendant > imposition à l'IS 1`] = ` +"[100000,30100,69900,72612,15030,54870,0,100000,3559] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-indépendant > imposition à l'IS 2`] = ` +"[100000,30100,69900,72612,15030,54870,0,100000,3559] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-indépendant > impôt sur le revenu 1`] = `"[29086,9086,20000,20787,603,19397,0,29086,3559]"`; + +exports[`calculate simulations-indépendant > impôt sur le revenu 2`] = `"[73019,23019,50000,51980,8213,41787,0,73019,3559]"`; + +exports[`calculate simulations-indépendant > impôt sur le revenu 3`] = `"[29086,9086,20000,20787,2079,17921,0,29086,3559]"`; + +exports[`calculate simulations-indépendant > inversions 1`] = `"[2000,1386,614,666,0,614,0,2000,3559]"`; + +exports[`calculate simulations-indépendant > inversions 2`] = `"[50000,16004,33996,35351,4527,29469,0,50000,3559]"`; + +exports[`calculate simulations-indépendant > inversions 3`] = `"[14597,4597,10000,10394,0,10000,0,14597,3559]"`; + +exports[`calculate simulations-indépendant > inversions 4`] = `"[72000,22703,49297,51249,9297,40000,0,72000,3559]"`; + +exports[`calculate simulations-indépendant > inversions 5`] = `"[14597,4597,10000,10394,0,10000,1000,15597,3559]"`; + +exports[`calculate simulations-indépendant > inversions 6`] = `"[19000,5929,13071,13584,0,13071,1000,20000,3559]"`; + +exports[`calculate simulations-indépendant > inversions 7`] = `"[18000,5627,12373,12860,0,12373,2000,20000,3559]"`; + +exports[`calculate simulations-indépendant > échelle de revenus 1`] = `"[1861,1361,500,548,0,500,0,1861,3559]"`; + +exports[`calculate simulations-indépendant > échelle de revenus 2`] = `"[2466,1466,1000,1064,0,1000,0,2466,3559]"`; + +exports[`calculate simulations-indépendant > échelle de revenus 3`] = `"[3075,1575,1500,1581,0,1500,0,3075,3559]"`; + +exports[`calculate simulations-indépendant > échelle de revenus 4`] = `"[3683,1683,2000,2097,0,2000,0,3683,3559]"`; + +exports[`calculate simulations-indépendant > échelle de revenus 5`] = `"[7428,2428,5000,5199,0,5000,0,7428,3559]"`; + +exports[`calculate simulations-indépendant > échelle de revenus 6`] = `"[14597,4597,10000,10394,0,10000,0,14597,3559]"`; + +exports[`calculate simulations-indépendant > échelle de revenus 7`] = ` +"[139589,39589,100000,103788,28275,71725,0,139589,3559] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-indépendant > échelle de revenus 8`] = ` +"[1239948,239948,1000000,1033666,473305,526695,0,1239948,3559] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; diff --git a/site/test/regressions/__snapshots__/simulations-professions-libérales.test.ts.snap b/site/test/regressions/__snapshots__/simulations-professions-libérales.test.ts.snap new file mode 100644 index 000000000..eeb9bb951 --- /dev/null +++ b/site/test/regressions/__snapshots__/simulations-professions-libérales.test.ts.snap @@ -0,0 +1,146 @@ +// Vitest Snapshot v1 + +exports[`calculate simulations-professions-libérales > CIPAV ACRE 1`] = `"[7434,0,2434,5000,0,5000,36,3,67]"`; + +exports[`calculate simulations-professions-libérales > CIPAV ACRE 2`] = `"[24242,0,4242,20000,876,19124,36,4,266]"`; + +exports[`calculate simulations-professions-libérales > CIPAV ACRE 3`] = ` +"[69846,0,19846,50000,9490,40510,108,4,531] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 1`] = ` +"[90886,0,30886,60000,12661,47339,180,4,533] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 2`] = ` +"[90334,0,30334,60000,12657,47343,180,4,533] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 3`] = ` +"[90012,0,30012,60000,12654,47346,180,4,708] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 4`] = ` +"[92076,0,32076,60000,12671,47329,180,4,533] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 5`] = ` +"[90530,0,30530,60000,12658,47342,180,4,805] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 6`] = `"[4895,0,3895,1000,0,1000,36,2,122]"`; + +exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 7`] = ` +"[93016,0,33016,60000,12679,47321,180,4,533] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > CIPAV exonération incapacité 1`] = ` +"[47070,0,7070,40000,6304,33696,36,4,400] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > CIPAV réduction et surcotisation 1`] = `"[16239,0,6239,10000,0,10000,72,4,135]"`; + +exports[`calculate simulations-professions-libérales > CIPAV réduction et surcotisation 2`] = ` +"[73230,0,23230,50000,9518,40482,180,4,531] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > CIPAV réduction et surcotisation 3`] = ` +"[149211,0,49211,100000,28382,71618,468,4,538] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 1`] = `"[3277,0,2777,500,0,500,36,2,61]"`; + +exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 2`] = `"[3838,0,2838,1000,0,1000,36,2,61]"`; + +exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 3`] = `"[4398,0,2898,1500,0,1500,36,2,61]"`; + +exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 4`] = `"[4959,0,2959,2000,0,2000,36,2,61]"`; + +exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 5`] = `"[8377,0,3377,5000,0,5000,36,3,67]"`; + +exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 6`] = `"[14552,0,4552,10000,0,10000,36,4,134]"`; + +exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 7`] = ` +"[147523,0,47523,100000,28363,71637,432,4,538] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 8`] = ` +"[1239427,0,239427,1000000,473298,526702,468,4,550] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > auxiliaire médical 1`] = `"[30000,0,8078,21922,1208,20714,0,4,293]"`; + +exports[`calculate simulations-professions-libérales > auxiliaire médical 2`] = `"[30000,0,8398,21602,1157,20445,0,4,289]"`; + +exports[`calculate simulations-professions-libérales > auxiliaire médical 3`] = `"[300000,0,62883,237117,89673,147444,0,4,550]"`; + +exports[`calculate simulations-professions-libérales > avocat 1`] = ` +"[50000,0,11135,38865,5988,32877,0,4,518] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > avocat 2`] = ` +"[50000,0,11805,38195,5787,32408,0,4,510] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > expert-comptable 1`] = `"[20000,0,5014,14986,57,14929,0,4,200]"`; + +exports[`calculate simulations-professions-libérales > expert-comptable 2`] = ` +"[50000,0,14816,35184,4884,30300,0,4,471] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > médecin 1`] = `"[50000,0,14385,35615,5011,30604,0,4,476]"`; + +exports[`calculate simulations-professions-libérales > médecin 2`] = `"[50000,0,22059,27941,2710,25231,0,4,378]"`; + +exports[`calculate simulations-professions-libérales > médecin 3`] = `"[300000,0,87915,212085,78409,133676,0,4,550]"`; + +exports[`calculate simulations-professions-libérales > médecin 4`] = `"[400000,0,108031,291969,117164,174805,0,4,550]"`; + +exports[`calculate simulations-professions-libérales > médecin 5`] = ` +"[120000,0,36415,83585,21327,62258,0,4,536] +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" +`; + +exports[`calculate simulations-professions-libérales > médecin 6`] = `"[50000,0,14385,35615,5011,30604,0,4,476]"`; + +exports[`calculate simulations-professions-libérales > sage-femme 1`] = `"[50000,0,12479,37521,5584,31937,0,4,501]"`; + +exports[`calculate simulations-professions-libérales > sage-femme 2`] = ` +"[20000,0,5190,14810,29,14781,0,4,198] +Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable" +`; + +exports[`calculate simulations-professions-libérales > sage-femme 3`] = ` +"[4000,0,1315,2685,0,2685,0,2,61] +Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable, dirigeant . indépendant . PL . CARCDSF . sage-femme . exonération PCV" +`; + +exports[`calculate simulations-professions-libérales > sage-femme 4`] = ` +"[20000,0,5190,14810,29,14781,0,4,198] +Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable" +`; + +exports[`calculate simulations-professions-libérales > sage-femme 5`] = ` +"[20000,0,5267,14733,17,14716,0,4,197] +Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable" +`; + +exports[`calculate simulations-professions-libérales > sage-femme 6`] = ` +"[20000,0,5343,14657,4,14653,0,4,196] +Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable" +`; diff --git a/site/test/regressions/__snapshots__/simulations-salarié.test.ts.snap b/site/test/regressions/__snapshots__/simulations-salarié.test.ts.snap new file mode 100644 index 000000000..8bcc38052 --- /dev/null +++ b/site/test/regressions/__snapshots__/simulations-salarié.test.ts.snap @@ -0,0 +1,439 @@ +// Vitest Snapshot v1 + +exports[`calculate simulations-salarié > CCN HCR 1`] = ` +"[3499,0,2500,2005,1894] +Notifications affichées : contrat salarié . convention collective . contrôle décharge" +`; + +exports[`calculate simulations-salarié > CCN batiment 1`] = ` +"[3912,0,2500,1987,1878] +Notifications affichées : contrat salarié . convention collective . contrôle décharge" +`; + +exports[`calculate simulations-salarié > CCN batiment 2`] = ` +"[3881,0,2500,1972,1864] +Notifications affichées : contrat salarié . convention collective . contrôle décharge" +`; + +exports[`calculate simulations-salarié > CCN batiment 3`] = ` +"[3939,0,2500,1979,1867] +Notifications affichées : contrat salarié . convention collective . contrôle décharge" +`; + +exports[`calculate simulations-salarié > CCN compta 1`] = ` +"[3394,0,2500,2006,1898] +Notifications affichées : contrat salarié . convention collective . contrôle décharge" +`; + +exports[`calculate simulations-salarié > CCN optique 1`] = ` +"[3585,0,2500,2068,1953] +Notifications affichées : contrat salarié . convention collective . contrôle décharge" +`; + +exports[`calculate simulations-salarié > CCN spectacle vivant 1`] = ` +"[3796,0,2500,2155,2039] +Notifications affichées : contrat salarié . CDD . information, contrat salarié . convention collective . contrôle décharge" +`; + +exports[`calculate simulations-salarié > CCN sport 1`] = ` +"[535,0,500,374,374] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > JEI 1`] = `"[3434,0,3000,2353,2168]"`; + +exports[`calculate simulations-salarié > JEI 2`] = ` +"[26535,0,20000,15969,10359] +Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" +`; + +exports[`calculate simulations-salarié > activité partielle 1`] = ` +"[53,0,1560,1281,1281] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > activité partielle 2`] = `"[980,0,4000,2220,2098]"`; + +exports[`calculate simulations-salarié > activité partielle 3`] = `"[2154,0,8000,4462,3639]"`; + +exports[`calculate simulations-salarié > activité partielle 4`] = `"[1614,0,4000,2405,2217]"`; + +exports[`calculate simulations-salarié > activité partielle 5`] = `"[2867,0,4000,2683,2406]"`; + +exports[`calculate simulations-salarié > activité partielle 6`] = `"[740,3750,3000,1660,1609]"`; + +exports[`calculate simulations-salarié > activité partielle 7`] = `"[980,0,4000,2220,2185]"`; + +exports[`calculate simulations-salarié > activité partielle 8`] = `"[351,0,2000,1578,1544]"`; + +exports[`calculate simulations-salarié > activité partielle 9`] = `"[1216,0,2000,1570,1536]"`; + +exports[`calculate simulations-salarié > activité partielle 10`] = `"[2360,0,6000,4182,3498]"`; + +exports[`calculate simulations-salarié > activité partielle 11`] = `"[4323,0,9000,6147,4790]"`; + +exports[`calculate simulations-salarié > aides 1`] = `"[2296,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > aides 2`] = ` +"[12819,0,10000,8911,7538] +Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé, contrat salarié . régime des impatriés . information" +`; + +exports[`calculate simulations-salarié > aides 3`] = `"[1966,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > aides 4`] = ` +"[2573,0,2000,1720,1656] +Notifications affichées : contrat salarié . CDD . information" +`; + +exports[`calculate simulations-salarié > aides 5`] = `"[1800,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > aides 6`] = `"[2050,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > aides embauche covid 1`] = ` +"[1232,0,1500,1165,1165] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > aides embauche covid 2`] = `"[7079,0,5000,3948,3298]"`; + +exports[`calculate simulations-salarié > aides embauche covid 3`] = ` +"[1407,0,1500,1284,1284] +Notifications affichées : contrat salarié . CDD . information, contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > aides embauche covid 4`] = ` +"[881,0,1500,1457,1457] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > apprentissage 1`] = ` +"[1547,0,1500,1457,1457] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > apprentissage 2`] = ` +"[1381,0,1500,1457,1457] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > atmp 1`] = `"[2438,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > avantages 1`] = `"[2571,0,2000,1540,1490]"`; + +exports[`calculate simulations-salarié > avantages 2`] = `"[2581,0,2000,1539,1489]"`; + +exports[`calculate simulations-salarié > avantages 3`] = `"[2491,0,2000,1549,1500]"`; + +exports[`calculate simulations-salarié > cadre 1`] = `"[4116,0,3000,2348,2160]"`; + +exports[`calculate simulations-salarié > cdd 1`] = ` +"[3198,0,2200,1894,1815] +Notifications affichées : contrat salarié . CDD . information" +`; + +exports[`calculate simulations-salarié > cdd 2`] = ` +"[3472,0,2200,2009,1897] +Notifications affichées : contrat salarié . CDD . information" +`; + +exports[`calculate simulations-salarié > cdd 3`] = ` +"[3765,0,2200,2197,2084] +Notifications affichées : contrat salarié . CDD . information" +`; + +exports[`calculate simulations-salarié > cdd 4`] = ` +"[4416,0,2200,2370,2179] +Notifications affichées : contrat salarié . CDD . information" +`; + +exports[`calculate simulations-salarié > cdd 5`] = ` +"[3759,0,2200,1920,1841] +Notifications affichées : contrat salarié . CDD . information, contrat salarié . convention collective . contrôle décharge" +`; + +exports[`calculate simulations-salarié > contrat pro 1`] = `"[899,0,1500,1165,1165]"`; + +exports[`calculate simulations-salarié > contrat pro 2`] = `"[1566,0,1500,1165,1165]"`; + +exports[`calculate simulations-salarié > effectif 1`] = `"[2383,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > effectif 2`] = `"[2430,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > effectif 3`] = `"[2442,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > effectif 4`] = `"[2442,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > frais pro - DFS 1`] = `"[2105,0,2000,1625,1625]"`; + +exports[`calculate simulations-salarié > frais pro - DFS 2`] = `"[2212,0,2000,1584,1549]"`; + +exports[`calculate simulations-salarié > frais pro - DFS 3`] = `"[2158,0,2000,1601,1553]"`; + +exports[`calculate simulations-salarié > frais pro - DFS 4`] = `"[2158,0,2000,1601,1553]"`; + +exports[`calculate simulations-salarié > frais pro - DFS 5`] = `"[2383,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > frais pro - DFS 6`] = `"[1765,0,1700,1354,1354]"`; + +exports[`calculate simulations-salarié > frais pro - DFS 7`] = `"[3258,0,2600,2125,2092]"`; + +exports[`calculate simulations-salarié > frais pro - abo transports + transports personnels 1`] = `"[4382,0,3200,2553,2356]"`; + +exports[`calculate simulations-salarié > frais pro - abo transports + transports personnels 2`] = `"[5012,0,3200,2916,2619]"`; + +exports[`calculate simulations-salarié > frais pro - abo transports + transports personnels 3`] = `"[4688,0,3200,2836,2637]"`; + +exports[`calculate simulations-salarié > frais pro - abonnement transports publics 1`] = `"[4380,0,3200,2551,2354]"`; + +exports[`calculate simulations-salarié > frais pro - abonnement transports publics 2`] = `"[5090,0,3200,3261,3064]"`; + +exports[`calculate simulations-salarié > frais pro - abonnement transports publics 3`] = `"[4380,0,3200,2551,2354]"`; + +exports[`calculate simulations-salarié > frais pro - abonnement transports publics 4`] = `"[4356,0,3200,2527,2330]"`; + +exports[`calculate simulations-salarié > frais pro - titres restaurant 1`] = `"[2423,0,2000,1521,1487]"`; + +exports[`calculate simulations-salarié > frais pro - titres restaurant 2`] = `"[4300,0,3000,2135,1945]"`; + +exports[`calculate simulations-salarié > frais pro - titres restaurant 3`] = `"[2467,0,2000,1493,1458]"`; + +exports[`calculate simulations-salarié > frais pro - transports personnels seul 1`] = `"[4382,0,3200,2553,2356]"`; + +exports[`calculate simulations-salarié > frais pro - transports personnels seul 2`] = `"[4382,0,3200,2553,2356]"`; + +exports[`calculate simulations-salarié > frais pro - transports personnels seul 3`] = `"[5008,0,3200,2913,2617]"`; + +exports[`calculate simulations-salarié > frais pro - transports personnels seul 4`] = `"[4382,0,3200,2553,2356]"`; + +exports[`calculate simulations-salarié > frais pro - transports personnels seul 5`] = `"[4390,0,3200,2548,2349]"`; + +exports[`calculate simulations-salarié > frais pro - transports personnels seul 6`] = `"[4135,0,3200,2589,2480]"`; + +exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 1`] = `"[2484,0,2000,1636,1601]"`; + +exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 2`] = `"[2444,0,2000,1606,1572]"`; + +exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 3`] = `"[2554,0,2000,1636,1601]"`; + +exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 4`] = ` +"[2481,0,2000,1632,1598] +Notifications affichées : contrat salarié . convention collective . contrôle décharge" +`; + +exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 5`] = ` +"[2448,0,2000,1606,1572] +Notifications affichées : contrat salarié . convention collective . contrôle décharge" +`; + +exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 6`] = ` +"[2432,0,2000,1601,1566] +Notifications affichées : contrat salarié . convention collective . contrôle décharge" +`; + +exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 7`] = ` +"[3330,2446,2000,1919,1886] +Notifications affichées : contrat salarié . temps de travail . contrôle heures complémentaires 10 pourcents" +`; + +exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 8`] = ` +"[3279,2286,2000,1889,1856] +Notifications affichées : contrat salarié . temps de travail . contrôle heures complémentaires 10 pourcents" +`; + +exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 1`] = `"[4070,0,3000,2353,2336]"`; + +exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 2`] = `"[4070,0,3000,2353,2353]"`; + +exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 3`] = `"[4070,0,3000,2353,2353]"`; + +exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 4`] = `"[4070,0,3000,2353,1911]"`; + +exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 5`] = `"[4070,0,3000,2353,2219]"`; + +exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 6`] = `"[12886,0,9000,7156,6052]"`; + +exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 7`] = `"[12886,0,9000,7156,6342]"`; + +exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 8`] = `"[12886,0,9000,7156,6859]"`; + +exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 9`] = `"[4070,0,3000,2353,2178]"`; + +exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 10`] = `"[4070,0,3000,2353,2353]"`; + +exports[`calculate simulations-salarié > impôt sur le revenu 1`] = `"[4070,0,3000,2353,2168]"`; + +exports[`calculate simulations-salarié > impôt sur le revenu 2`] = ` +"[41833,0,30000,24227,14685] +Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" +`; + +exports[`calculate simulations-salarié > impôt sur le revenu 3`] = ` +"[4960,0,3000,2846,2559] +Notifications affichées : contrat salarié . CDD . information" +`; + +exports[`calculate simulations-salarié > impôt sur le revenu 4`] = `"[3782,0,3000,2353,2252]"`; + +exports[`calculate simulations-salarié > impôt sur le revenu 5`] = ` +"[41833,0,30000,24227,14685] +Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" +`; + +exports[`calculate simulations-salarié > impôt sur le revenu 6`] = `"[4070,0,3000,2626,2485]"`; + +exports[`calculate simulations-salarié > impôt sur le revenu 7`] = ` +"[41833,0,30000,26966,16655] +Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" +`; + +exports[`calculate simulations-salarié > impôt sur le revenu 8`] = `"[4070,0,3000,2353,2107]"`; + +exports[`calculate simulations-salarié > inversions 1`] = `"[2000,0,1797,1400,1393]"`; + +exports[`calculate simulations-salarié > inversions 2`] = `"[3426,0,2554,2000,1889]"`; + +exports[`calculate simulations-salarié > inversions 3`] = `"[3668,0,2703,2117,2000]"`; + +exports[`calculate simulations-salarié > lodeom 1`] = ` +"[1588,0,1521,1182,1182] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > lodeom 2`] = `"[2081,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > lodeom 3`] = `"[3782,0,3000,2353,2168]"`; + +exports[`calculate simulations-salarié > lodeom 4`] = `"[5428,0,4000,3146,2755]"`; + +exports[`calculate simulations-salarié > lodeom 5`] = `"[7784,0,5500,4349,3634]"`; + +exports[`calculate simulations-salarié > lodeom compétitivité renforcée 1`] = ` +"[1588,0,1521,1182,1182] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > lodeom compétitivité renforcée 2`] = `"[2081,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > lodeom compétitivité renforcée 3`] = `"[3281,0,3000,2353,2168]"`; + +exports[`calculate simulations-salarié > lodeom compétitivité renforcée 4`] = `"[5186,0,4000,3146,2755]"`; + +exports[`calculate simulations-salarié > lodeom compétitivité renforcée 5`] = `"[7784,0,5500,4349,3634]"`; + +exports[`calculate simulations-salarié > lodeom innovation et croissance 1`] = ` +"[1588,0,1521,1182,1182] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > lodeom innovation et croissance 2`] = `"[2081,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > lodeom innovation et croissance 3`] = `"[3171,0,3000,2353,2168]"`; + +exports[`calculate simulations-salarié > lodeom innovation et croissance 4`] = `"[4529,0,4000,3146,2755]"`; + +exports[`calculate simulations-salarié > lodeom innovation et croissance 5`] = `"[7643,0,5500,4349,3634]"`; + +exports[`calculate simulations-salarié > stage 1`] = ` +"[500,0,500,500,500] +Notifications affichées : contrat salarié . stage . avertissement, contrat salarié . stage . contrôle gratification minimale" +`; + +exports[`calculate simulations-salarié > stage 2`] = ` +"[2484,0,2000,1750,1750] +Notifications affichées : contrat salarié . stage . avertissement" +`; + +exports[`calculate simulations-salarié > taux spécifiques retraite complémentaire 1`] = ` +"[1601,0,1521,1195,1195] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > taux spécifiques retraite complémentaire 2`] = `"[3346,0,2500,1979,1869]"`; + +exports[`calculate simulations-salarié > taux spécifiques retraite complémentaire 3`] = ` +"[1588,0,1521,1170,1170] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > taux spécifiques retraite complémentaire 4`] = `"[3306,0,2500,1938,1830]"`; + +exports[`calculate simulations-salarié > temps partiel 1`] = `"[2503,2188,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > temps partiel 2`] = `"[2475,2500,1857,1448,1428]"`; + +exports[`calculate simulations-salarié > temps partiel 3`] = ` +"[1101,1750,1000,770,770] +Notifications affichées : contrat salarié . temps de travail . temps partiel . contrôle temps min" +`; + +exports[`calculate simulations-salarié > treizième mois 1`] = `"[3308,0,2300,1950,1842]"`; + +exports[`calculate simulations-salarié > treizième mois 2`] = `"[3794,2965,2300,2186,2071]"`; + +exports[`calculate simulations-salarié > treizième mois 3`] = `"[2948,0,2300,1799,1733]"`; + +exports[`calculate simulations-salarié > échelle de salaires 1`] = ` +"[123,0,100,57,57] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > échelle de salaires 2`] = ` +"[278,0,250,176,176] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > échelle de salaires 3`] = ` +"[535,0,500,374,374] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > échelle de salaires 4`] = ` +"[793,0,750,572,572] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > échelle de salaires 5`] = ` +"[1050,0,1000,770,770] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > échelle de salaires 6`] = ` +"[1308,0,1250,968,968] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > échelle de salaires 7`] = ` +"[1566,0,1500,1165,1165] +Notifications affichées : contrat salarié . rémunération . contrôle smic" +`; + +exports[`calculate simulations-salarié > échelle de salaires 8`] = `"[2383,0,2000,1561,1527]"`; + +exports[`calculate simulations-salarié > échelle de salaires 9`] = `"[3324,0,2500,1957,1848]"`; + +exports[`calculate simulations-salarié > échelle de salaires 10`] = `"[4070,0,3000,2353,2168]"`; + +exports[`calculate simulations-salarié > échelle de salaires 11`] = `"[5428,0,4000,3146,2755]"`; + +exports[`calculate simulations-salarié > échelle de salaires 12`] = `"[7079,0,5000,3948,3298]"`; + +exports[`calculate simulations-salarié > échelle de salaires 13`] = ` +"[14315,0,10000,7958,5892] +Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" +`; + +exports[`calculate simulations-salarié > échelle de salaires 14`] = ` +"[28342,0,20000,15969,10359] +Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" +`; + +exports[`calculate simulations-salarié > échelle de salaires 15`] = ` +"[128588,0,100000,87157,45821] +Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" +`; + +exports[`calculate simulations-salarié > échelle de salaires 16`] = ` +"[1244012,0,1000000,896257,445643] +Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" +`; diff --git a/site/test/regressions/__snapshots__/simulations.test.ts.snap b/site/test/regressions/__snapshots__/simulations.test.ts.snap deleted file mode 100644 index 80662c975..000000000 --- a/site/test/regressions/__snapshots__/simulations.test.ts.snap +++ /dev/null @@ -1,1091 +0,0 @@ -// Vitest Snapshot v1 - -exports[`calculate assistant-charges-sociales > ACRE 1`] = `"[9013,12308,50000,37693]"`; - -exports[`calculate assistant-charges-sociales > ACRE 2`] = `"[912,1979,15000,13022]"`; - -exports[`calculate assistant-charges-sociales > ACRE 3`] = `"[299,729,5000,4271]"`; - -exports[`calculate assistant-charges-sociales > ACRE 4`] = `"[1485,2233,10000,7767]"`; - -exports[`calculate assistant-charges-sociales > ACRE 5`] = `"[605,1353,10000,8647]"`; - -exports[`calculate assistant-charges-sociales > IJSS (indemnité sécurité sociale) 1`] = `"[11405,14546,50000,35454]"`; - -exports[`calculate assistant-charges-sociales > RSA 1`] = `"[78,221,500,278]"`; - -exports[`calculate assistant-charges-sociales > RSA 2`] = `"[1017,1447,5000,3552]"`; - -exports[`calculate assistant-charges-sociales > conjoint collaborateur 1`] = `"[14097,17392,50000,32607]"`; - -exports[`calculate assistant-charges-sociales > conjoint collaborateur 2`] = `"[13586,16881,50000,33119]"`; - -exports[`calculate assistant-charges-sociales > conjoint collaborateur 3`] = `"[11466,14761,50000,35239]"`; - -exports[`calculate assistant-charges-sociales > conjoint collaborateur 4`] = `"[14097,17392,50000,32607]"`; - -exports[`calculate assistant-charges-sociales > conjoint collaborateur 5`] = `"[11466,14761,50000,35239]"`; - -exports[`calculate assistant-charges-sociales > débit de tabac 1`] = `"[5652,8932,50000,41068]"`; - -exports[`calculate assistant-charges-sociales > international 1`] = ` -"[14605,14724,50000,35277] -Notifications affichées : impôt . domiciliation étranger non implémentée" -`; - -exports[`calculate assistant-charges-sociales > international 2`] = `"[11872,13257,50000,36743]"`; - -exports[`calculate assistant-charges-sociales > nature de l'activité 1`] = `"[11365,14660,50000,35340]"`; - -exports[`calculate assistant-charges-sociales > nature de l'activité 2`] = `"[1368,1798,5000,3202]"`; - -exports[`calculate assistant-charges-sociales > nature de l'activité 3`] = `"[11369,14649,50000,35351]"`; - -exports[`calculate assistant-charges-sociales > nature de l'activité 4`] = `"[1369,1784,5000,3216]"`; - -exports[`calculate assistant-charges-sociales > nature de l'activité 5`] = `"[11369,14649,50000,35351]"`; - -exports[`calculate assistant-charges-sociales > nature de l'activité 6`] = `"[1369,1784,5000,3216]"`; - -exports[`calculate assistant-charges-sociales > nature de l'activité 7`] = `"[9454,12734,50000,37266]"`; - -exports[`calculate assistant-charges-sociales > échelle de revenus 1`] = ` -"[1042,1185,500,0] -Notifications affichées : entreprise . imposition . IR . information sur le report de déficit" -`; - -exports[`calculate assistant-charges-sociales > échelle de revenus 2`] = ` -"[1042,1217,1000,0] -Notifications affichées : entreprise . imposition . IR . information sur le report de déficit" -`; - -exports[`calculate assistant-charges-sociales > échelle de revenus 3`] = `"[1065,1272,1500,228]"`; - -exports[`calculate assistant-charges-sociales > échelle de revenus 4`] = `"[1109,1348,2000,652]"`; - -exports[`calculate assistant-charges-sociales > échelle de revenus 5`] = `"[1368,1798,5000,3202]"`; - -exports[`calculate assistant-charges-sociales > échelle de revenus 6`] = `"[2201,2949,10000,7050]"`; - -exports[`calculate assistant-charges-sociales > échelle de revenus 7`] = ` -"[20925,27403,100000,72596] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate assistant-charges-sociales > échelle de revenus 8`] = ` -"[106445,170227,1000000,829773] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-artiste-auteur > bnc 1`] = `"[763]"`; - -exports[`calculate simulations-artiste-auteur > bnc 2`] = `"[1156]"`; - -exports[`calculate simulations-artiste-auteur > bnc 3`] = ` -"[578] -Notifications affichées : artiste-auteur . cotisations . avertissement trimestres retraite" -`; - -exports[`calculate simulations-artiste-auteur > salarié 1`] = ` -"[99] -Notifications affichées : artiste-auteur . cotisations . avertissement trimestres retraite" -`; - -exports[`calculate simulations-artiste-auteur > salarié 2`] = `"[988]"`; - -exports[`calculate simulations-artiste-auteur > salarié 3`] = `"[9880]"`; - -exports[`calculate simulations-auto-entrepreneur > ACRE 1`] = `"[22962,247,20000,0,20000]"`; - -exports[`calculate simulations-auto-entrepreneur > ACRE 2`] = ` -"[22630,219,20000,0,20000] -Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" -`; - -exports[`calculate simulations-auto-entrepreneur > ACRE 3`] = `"[34443,370,30000,0,30000]"`; - -exports[`calculate simulations-auto-entrepreneur > ACRE 4`] = ` -"[45273,439,40000,0,40000] -Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" -`; - -exports[`calculate simulations-auto-entrepreneur > ACRE 5`] = ` -"[21390,116,20000,0,20000] -Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" -`; - -exports[`calculate simulations-auto-entrepreneur > activité mixte 1`] = `"[20000,292,16500,0,16500]"`; - -exports[`calculate simulations-auto-entrepreneur > activité mixte 2`] = `"[20000,318,16180,0,16180]"`; - -exports[`calculate simulations-auto-entrepreneur > activité mixte 3`] = `"[20000,301,16388,0,16388]"`; - -exports[`calculate simulations-auto-entrepreneur > activité mixte 4`] = `"[null,715,null,null,null]"`; - -exports[`calculate simulations-auto-entrepreneur > aides 1`] = `"[5741,62,5000,0,5000]"`; - -exports[`calculate simulations-auto-entrepreneur > aides 2`] = `"[57419,618,50000,237,49763]"`; - -exports[`calculate simulations-auto-entrepreneur > impôt sur le revenu 1`] = `"[32134,594,25000,707,24293]"`; - -exports[`calculate simulations-auto-entrepreneur > échelle de revenus 1`] = `"[574,6,500,0,500]"`; - -exports[`calculate simulations-auto-entrepreneur > échelle de revenus 2`] = `"[1148,12,1000,0,1000]"`; - -exports[`calculate simulations-auto-entrepreneur > échelle de revenus 3`] = `"[2296,25,2000,0,2000]"`; - -exports[`calculate simulations-auto-entrepreneur > échelle de revenus 4`] = `"[5741,62,5000,0,5000]"`; - -exports[`calculate simulations-auto-entrepreneur > échelle de revenus 5`] = `"[11481,123,10000,0,10000]"`; - -exports[`calculate simulations-auto-entrepreneur > échelle de revenus 6`] = `"[22962,247,20000,0,20000]"`; - -exports[`calculate simulations-auto-entrepreneur > échelle de revenus 7`] = `"[57419,618,50000,237,49763]"`; - -exports[`calculate simulations-auto-entrepreneur > échelle de revenus 8`] = `"[80381,865,70000,1301,68699]"`; - -exports[`calculate simulations-auto-entrepreneur > échelle de revenus 9`] = ` -"[114824,1235,100000,3912,96088] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-auto-entrepreneur > échelle de revenus 10`] = ` -"[1148298,12358,1000000,131652,868348] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement, entreprise . imposition . régime . micro-entreprise . alerte seuil dépassés" -`; - -exports[`calculate simulations-dividendes > barème couple 2 enfants 1`] = `"[200,166,34,0,112,112,0]"`; - -exports[`calculate simulations-dividendes > barème couple 2 enfants 2`] = `"[20000000,11149363,3440000,5410637,11184000,11184000,48]"`; - -exports[`calculate simulations-dividendes > barème couple 2 enfants 3`] = `"[200,112,34,40,112,112,36]"`; - -exports[`calculate simulations-dividendes > barème couple 2 enfants 4`] = `"[20000,14985,3440,613,11184,11184,5]"`; - -exports[`calculate simulations-dividendes > barème défauts 1`] = `"[200,166,34,0,112,112,0]"`; - -exports[`calculate simulations-dividendes > barème défauts 2`] = `"[20000000,11113031,3440000,5446969,11184000,11184000,49]"`; - -exports[`calculate simulations-dividendes > barème défauts 3`] = `"[200,111,34,47,112,112,42]"`; - -exports[`calculate simulations-dividendes > barème défauts 4`] = `"[20000,13205,3440,2244,11184,11184,20]"`; - -exports[`calculate simulations-dividendes > pfu 1`] = `"[200,140,34,26,120,120,0]"`; - -exports[`calculate simulations-dividendes > pfu 2`] = `"[20000000,14000000,3440000,2560000,12000000,12000000,0]"`; - -exports[`calculate simulations-impot-société > bénéfices 1`] = ` -"[0,0] -Notifications affichées : entreprise . imposition . IS . information sur le report de déficit" -`; - -exports[`calculate simulations-impot-société > bénéfices 2`] = `"[0,0]"`; - -exports[`calculate simulations-impot-société > bénéfices 3`] = `"[300,0]"`; - -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]"`; - -exports[`calculate simulations-impot-société > bénéfices 7`] = `"[5295628,149646]"`; - -exports[`calculate simulations-impot-société > prorata temporis 1`] = `"[260628,0]"`; - -exports[`calculate simulations-impot-société > prorata temporis 2`] = `"[277936,0]"`; - -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]"`; - -exports[`calculate simulations-indépendant > activité 1`] = `"[29086,9086,20000,20787,898,19102,0,29086,3559]"`; - -exports[`calculate simulations-indépendant > activité 2`] = `"[29102,9102,20000,20787,898,19102,0,29102,3575]"`; - -exports[`calculate simulations-indépendant > conjoint collaborateur 1`] = `"[77175,27175,50000,52092,9550,40450,0,77175,7308]"`; - -exports[`calculate simulations-indépendant > conjoint collaborateur 2`] = `"[78236,28236,50000,52121,9558,40442,0,78236,4487]"`; - -exports[`calculate simulations-indépendant > conjoint collaborateur 3`] = `"[80757,30757,50000,52189,9579,40421,0,80757,4811]"`; - -exports[`calculate simulations-indépendant > conjoint collaborateur 4`] = `"[75298,25298,50000,52041,9534,40466,0,75298,3809]"`; - -exports[`calculate simulations-indépendant > conjoint collaborateur 5`] = `"[75297,25297,50000,52041,9534,40466,0,75297,3951]"`; - -exports[`calculate simulations-indépendant > conjoint collaborateur 6`] = ` -"[652221,152221,500000,517706,220485,279515,0,652221,4487] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-indépendant > cotisations facultatives 1`] = `"[30000,13181,16819,17881,433,16386,0,30000,3559]"`; - -exports[`calculate simulations-indépendant > cotisations facultatives 2`] = `"[30000,14381,15619,17881,433,15186,0,30000,3559]"`; - -exports[`calculate simulations-indépendant > cotisations facultatives 3`] = `"[30000,10381,19619,20431,841,18778,0,30000,3559]"`; - -exports[`calculate simulations-indépendant > cotisations facultatives 4`] = `"[20000,6732,13268,13809,0,13268,0,20000,3559]"`; - -exports[`calculate simulations-indépendant > cotisations facultatives 5`] = ` -"[300000,79617,220383,228526,82145,138238,0,300000,3559] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-indépendant > cotisations facultatives 6`] = ` -"[300000,83117,216883,225026,80570,136313,0,300000,3559] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-indépendant > cotisations minimales 1`] = `"[1375,1275,100,135,0,100,0,1375,3559]"`; - -exports[`calculate simulations-indépendant > cotisations minimales 2`] = `"[244,144,100,104,0,100,0,244,3211]"`; - -exports[`calculate simulations-indépendant > exonération covid 1`] = `"[71347,21347,50000,51815,9550,40450,0,71347,103]"`; - -exports[`calculate simulations-indépendant > exonération covid 2`] = `"[500,12977,50000,51032,9315,40685,0,62977,103]"`; - -exports[`calculate simulations-indépendant > exonération covid 3`] = `"[50000,17475,50000,51440,9438,40562,0,67475,140]"`; - -exports[`calculate simulations-indépendant > exonération pension invalidité 1`] = ` -"[45000,10908,34092,35311,4515,29577,0,45000,2350] -Notifications affichées : dirigeant . indépendant . cotisations et contributions . exonérations . pension invalidité" -`; - -exports[`calculate simulations-indépendant > imposition à l'IS 1`] = ` -"[100000,30100,69900,72612,15030,54870,0,100000,3559] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-indépendant > imposition à l'IS 2`] = ` -"[100000,30100,69900,72612,15030,54870,0,100000,3559] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-indépendant > impôt sur le revenu 1`] = `"[29086,9086,20000,20787,603,19397,0,29086,3559]"`; - -exports[`calculate simulations-indépendant > impôt sur le revenu 2`] = `"[73019,23019,50000,51980,8213,41787,0,73019,3559]"`; - -exports[`calculate simulations-indépendant > impôt sur le revenu 3`] = `"[29086,9086,20000,20787,2079,17921,0,29086,3559]"`; - -exports[`calculate simulations-indépendant > inversions 1`] = `"[2000,1386,614,666,0,614,0,2000,3559]"`; - -exports[`calculate simulations-indépendant > inversions 2`] = `"[50000,16004,33996,35351,4527,29469,0,50000,3559]"`; - -exports[`calculate simulations-indépendant > inversions 3`] = `"[14597,4597,10000,10394,0,10000,0,14597,3559]"`; - -exports[`calculate simulations-indépendant > inversions 4`] = `"[72000,22703,49297,51249,9297,40000,0,72000,3559]"`; - -exports[`calculate simulations-indépendant > inversions 5`] = `"[14597,4597,10000,10394,0,10000,1000,15597,3559]"`; - -exports[`calculate simulations-indépendant > inversions 6`] = `"[19000,5929,13071,13584,0,13071,1000,20000,3559]"`; - -exports[`calculate simulations-indépendant > inversions 7`] = `"[18000,5627,12373,12860,0,12373,2000,20000,3559]"`; - -exports[`calculate simulations-indépendant > échelle de revenus 1`] = `"[1861,1361,500,548,0,500,0,1861,3559]"`; - -exports[`calculate simulations-indépendant > échelle de revenus 2`] = `"[2466,1466,1000,1064,0,1000,0,2466,3559]"`; - -exports[`calculate simulations-indépendant > échelle de revenus 3`] = `"[3075,1575,1500,1581,0,1500,0,3075,3559]"`; - -exports[`calculate simulations-indépendant > échelle de revenus 4`] = `"[3683,1683,2000,2097,0,2000,0,3683,3559]"`; - -exports[`calculate simulations-indépendant > échelle de revenus 5`] = `"[7428,2428,5000,5199,0,5000,0,7428,3559]"`; - -exports[`calculate simulations-indépendant > échelle de revenus 6`] = `"[14597,4597,10000,10394,0,10000,0,14597,3559]"`; - -exports[`calculate simulations-indépendant > échelle de revenus 7`] = ` -"[139589,39589,100000,103788,28275,71725,0,139589,3559] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-indépendant > échelle de revenus 8`] = ` -"[1239948,239948,1000000,1033666,473305,526695,0,1239948,3559] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > CIPAV ACRE 1`] = `"[7434,0,2434,5000,0,5000,36,3,67]"`; - -exports[`calculate simulations-professions-libérales > CIPAV ACRE 2`] = `"[24242,0,4242,20000,876,19124,36,4,266]"`; - -exports[`calculate simulations-professions-libérales > CIPAV ACRE 3`] = ` -"[69846,0,19846,50000,9490,40510,108,4,531] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 1`] = ` -"[90886,0,30886,60000,12661,47339,180,4,533] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 2`] = ` -"[90334,0,30334,60000,12657,47343,180,4,533] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 3`] = ` -"[90012,0,30012,60000,12654,47346,180,4,708] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 4`] = ` -"[92076,0,32076,60000,12671,47329,180,4,533] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 5`] = ` -"[90530,0,30530,60000,12658,47342,180,4,805] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 6`] = `"[4895,0,3895,1000,0,1000,36,2,122]"`; - -exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 7`] = ` -"[93016,0,33016,60000,12679,47321,180,4,533] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > CIPAV exonération incapacité 1`] = ` -"[47070,0,7070,40000,6304,33696,36,4,400] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > CIPAV réduction et surcotisation 1`] = `"[16239,0,6239,10000,0,10000,72,4,135]"`; - -exports[`calculate simulations-professions-libérales > CIPAV réduction et surcotisation 2`] = ` -"[73230,0,23230,50000,9518,40482,180,4,531] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > CIPAV réduction et surcotisation 3`] = ` -"[149211,0,49211,100000,28382,71618,468,4,538] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 1`] = `"[3277,0,2777,500,0,500,36,2,61]"`; - -exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 2`] = `"[3838,0,2838,1000,0,1000,36,2,61]"`; - -exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 3`] = `"[4398,0,2898,1500,0,1500,36,2,61]"`; - -exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 4`] = `"[4959,0,2959,2000,0,2000,36,2,61]"`; - -exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 5`] = `"[8377,0,3377,5000,0,5000,36,3,67]"`; - -exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 6`] = `"[14552,0,4552,10000,0,10000,36,4,134]"`; - -exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 7`] = ` -"[147523,0,47523,100000,28363,71637,432,4,538] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 8`] = ` -"[1239427,0,239427,1000000,473298,526702,468,4,550] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > auxiliaire médical 1`] = `"[30000,0,8078,21922,1208,20714,0,4,293]"`; - -exports[`calculate simulations-professions-libérales > auxiliaire médical 2`] = `"[30000,0,8398,21602,1157,20445,0,4,289]"`; - -exports[`calculate simulations-professions-libérales > auxiliaire médical 3`] = `"[300000,0,62883,237117,89673,147444,0,4,550]"`; - -exports[`calculate simulations-professions-libérales > avocat 1`] = ` -"[50000,0,11135,38865,5988,32877,0,4,518] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > avocat 2`] = ` -"[50000,0,11805,38195,5787,32408,0,4,510] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > expert-comptable 1`] = `"[20000,0,5014,14986,57,14929,0,4,200]"`; - -exports[`calculate simulations-professions-libérales > expert-comptable 2`] = ` -"[50000,0,14816,35184,4884,30300,0,4,471] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > médecin 1`] = `"[50000,0,14385,35615,5011,30604,0,4,476]"`; - -exports[`calculate simulations-professions-libérales > médecin 2`] = `"[50000,0,22059,27941,2710,25231,0,4,378]"`; - -exports[`calculate simulations-professions-libérales > médecin 3`] = `"[300000,0,87915,212085,78409,133676,0,4,550]"`; - -exports[`calculate simulations-professions-libérales > médecin 4`] = `"[400000,0,108031,291969,117164,174805,0,4,550]"`; - -exports[`calculate simulations-professions-libérales > médecin 5`] = ` -"[120000,0,36415,83585,21327,62258,0,4,536] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-professions-libérales > médecin 6`] = `"[50000,0,14385,35615,5011,30604,0,4,476]"`; - -exports[`calculate simulations-professions-libérales > sage-femme 1`] = `"[50000,0,12479,37521,5584,31937,0,4,501]"`; - -exports[`calculate simulations-professions-libérales > sage-femme 2`] = ` -"[20000,0,5190,14810,29,14781,0,4,198] -Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable" -`; - -exports[`calculate simulations-professions-libérales > sage-femme 3`] = ` -"[4000,0,1315,2685,0,2685,0,2,61] -Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable, dirigeant . indépendant . PL . CARCDSF . sage-femme . exonération PCV" -`; - -exports[`calculate simulations-professions-libérales > sage-femme 4`] = ` -"[20000,0,5190,14810,29,14781,0,4,198] -Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable" -`; - -exports[`calculate simulations-professions-libérales > sage-femme 5`] = ` -"[20000,0,5267,14733,17,14716,0,4,197] -Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable" -`; - -exports[`calculate simulations-professions-libérales > sage-femme 6`] = ` -"[20000,0,5343,14657,4,14653,0,4,196] -Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable" -`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > ACRE 1`] = ` -"[606,7272,0,7122,4,13] -Notifications affichées : dirigeant . assimilé salarié . réduction ACRE . notification taux annuel" -`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > ACRE 2`] = ` -"[1249,14993,0,14420,4,26] -Notifications affichées : dirigeant . assimilé salarié . réduction ACRE . notification taux annuel" -`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > ACRE 3`] = ` -"[1893,22714,0,21717,4,40] -Notifications affichées : dirigeant . assimilé salarié . réduction ACRE . notification taux annuel" -`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > Contrats Madelin 1`] = `"[1391,16698,0,16031,4,29]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > Contrats Madelin 2`] = `"[1391,16698,0,16031,4,29]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > Contrats Madelin 3`] = `"[1391,16698,0,16031,4,29]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > Contrats Madelin 4`] = `"[917,10998,0,10644,4,20]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > Contrats Madelin 5`] = ` -"[14490,173883,0,150420,4,49] -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,10644,4,20]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > Contrats Madelin 7`] = `"[917,10998,0,10644,4,20]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > JEI 1`] = `"[2829,33949,0,32212,4,49]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > activités 1`] = `"[917,10998,0,10644,4,20]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > activités 2`] = `"[917,10998,0,10644,4,0]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > activités 3`] = `"[917,10998,0,10644,4,20]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > activités 4`] = `"[917,10998,0,10644,4,20]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > activités 5`] = `"[917,10998,0,10644,4,20]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > activités 6`] = `"[917,10998,0,10644,4,20]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > avec charges 1`] = `"[442,5299,0,5258,4,10]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > avec charges 2`] = `"[917,10998,0,10644,4,20]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > échelle de rémunération 1`] = `"[-30,-361,0,0,0,0]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > échelle de rémunération 2`] = `"[14,170,0,135,0,1]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > échelle de rémunération 3`] = `"[62,740,0,313,0,2]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > échelle de rémunération 4`] = `"[204,2450,0,2564,2,5]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > échelle de rémunération 5`] = `"[442,5299,0,5258,4,10]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > échelle de rémunération 6`] = `"[917,10998,0,10644,4,20]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > échelle de rémunération 7`] = `"[2341,28096,0,26805,4,49]"`; - -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié) > échelle de rémunération 8`] = ` -"[4758,57101,0,51758,4,49] -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] -Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" -`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > ACRE 2`] = ` -"[0,18700,18700,2900,3,8] -Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" -`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > ACRE 3`] = ` -"[0,28050,28050,4350,4,12] -Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" -`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > Contrats Madelin 1`] = `"[0,34828,34828,5800,4,16]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > Contrats Madelin 2`] = `"[0,34828,34828,5800,4,16]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > Contrats Madelin 3`] = `"[0,34828,34828,5800,4,16]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > Contrats Madelin 4`] = `"[0,18291,18291,3045,4,8]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > Contrats Madelin 5`] = ` -"[0,274317,274317,20568,4,56] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement, entreprise . imposition . régime . micro-entreprise . alerte seuil dépassés" -`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > Contrats Madelin 6`] = `"[0,17856,17856,2973,3,8]"`; - -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,32212,4,49]"`; - -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]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > activités 3`] = `"[0,17332,17332,2900,3,8]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > activités 4`] = `"[0,15444,15444,5000,4,14]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > activités 5`] = `"[0,17420,17420,2900,3,8]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > activités 6`] = `"[0,15568,15568,5000,4,14]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > avec charges 1`] = `"[0,10452,10452,1740,3,0]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > avec charges 2`] = `"[0,30485,30485,5075,4,14]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > échelle de rémunération 1`] = `"[0,87,87,0,0,0]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > échelle de rémunération 2`] = `"[0,871,871,0,0,0]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > échelle de rémunération 3`] = `"[0,1742,1742,0,0,0]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > échelle de rémunération 4`] = `"[0,4355,4355,725,1,0]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > échelle de rémunération 5`] = `"[0,8710,8710,1450,2,0]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > échelle de rémunération 6`] = `"[0,17420,17420,2900,3,8]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > échelle de rémunération 7`] = `"[0,43538,43538,7250,4,20]"`; - -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur) > échelle de rémunération 8`] = ` -"[0,87088,87088,14500,4,40] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement" -`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > ACRE 1`] = ` -"[0,null,null,null,0,null] -Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" -`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > ACRE 2`] = ` -"[0,null,null,null,0,null] -Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" -`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > ACRE 3`] = ` -"[0,null,null,null,0,null] -Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel" -`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 1`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 2`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 3`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 4`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 5`] = ` -"[0,261252,261252,20568,4,56] -Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement, entreprise . imposition . IS . information sur le report de déficit" -`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 6`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 7`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > JEI 1`] = `"[2829,33949,0,32212,4,49]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 1`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 2`] = `"[0,null,null,null,0,0]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 3`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 4`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 5`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 6`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > avec charges 1`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > avec charges 2`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 1`] = `"[0,87,87,0,0,0]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 2`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 3`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 4`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 5`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 6`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 7`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 8`] = `"[0,null,null,null,0,null]"`; - -exports[`calculate simulations-salarié > CCN HCR 1`] = ` -"[3499,0,2500,2005,1894] -Notifications affichées : contrat salarié . convention collective . contrôle décharge" -`; - -exports[`calculate simulations-salarié > CCN batiment 1`] = ` -"[3912,0,2500,1987,1878] -Notifications affichées : contrat salarié . convention collective . contrôle décharge" -`; - -exports[`calculate simulations-salarié > CCN batiment 2`] = ` -"[3881,0,2500,1972,1864] -Notifications affichées : contrat salarié . convention collective . contrôle décharge" -`; - -exports[`calculate simulations-salarié > CCN batiment 3`] = ` -"[3939,0,2500,1979,1867] -Notifications affichées : contrat salarié . convention collective . contrôle décharge" -`; - -exports[`calculate simulations-salarié > CCN compta 1`] = ` -"[3394,0,2500,2006,1898] -Notifications affichées : contrat salarié . convention collective . contrôle décharge" -`; - -exports[`calculate simulations-salarié > CCN optique 1`] = ` -"[3585,0,2500,2068,1953] -Notifications affichées : contrat salarié . convention collective . contrôle décharge" -`; - -exports[`calculate simulations-salarié > CCN spectacle vivant 1`] = ` -"[3796,0,2500,2155,2039] -Notifications affichées : contrat salarié . CDD . information, contrat salarié . convention collective . contrôle décharge" -`; - -exports[`calculate simulations-salarié > CCN sport 1`] = ` -"[535,0,500,374,374] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > JEI 1`] = `"[3434,0,3000,2353,2168]"`; - -exports[`calculate simulations-salarié > JEI 2`] = ` -"[26535,0,20000,15969,10359] -Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" -`; - -exports[`calculate simulations-salarié > activité partielle 1`] = ` -"[53,0,1560,1281,1281] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > activité partielle 2`] = `"[980,0,4000,2220,2098]"`; - -exports[`calculate simulations-salarié > activité partielle 3`] = `"[2154,0,8000,4462,3639]"`; - -exports[`calculate simulations-salarié > activité partielle 4`] = `"[1614,0,4000,2405,2217]"`; - -exports[`calculate simulations-salarié > activité partielle 5`] = `"[2867,0,4000,2683,2406]"`; - -exports[`calculate simulations-salarié > activité partielle 6`] = `"[740,3750,3000,1660,1609]"`; - -exports[`calculate simulations-salarié > activité partielle 7`] = `"[980,0,4000,2220,2185]"`; - -exports[`calculate simulations-salarié > activité partielle 8`] = `"[351,0,2000,1578,1544]"`; - -exports[`calculate simulations-salarié > activité partielle 9`] = `"[1216,0,2000,1570,1536]"`; - -exports[`calculate simulations-salarié > activité partielle 10`] = `"[2360,0,6000,4182,3498]"`; - -exports[`calculate simulations-salarié > activité partielle 11`] = `"[4323,0,9000,6147,4790]"`; - -exports[`calculate simulations-salarié > aides 1`] = `"[2296,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > aides 2`] = ` -"[12819,0,10000,8911,7538] -Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé, contrat salarié . régime des impatriés . information" -`; - -exports[`calculate simulations-salarié > aides 3`] = `"[1966,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > aides 4`] = ` -"[2573,0,2000,1720,1656] -Notifications affichées : contrat salarié . CDD . information" -`; - -exports[`calculate simulations-salarié > aides 5`] = `"[1800,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > aides 6`] = `"[2050,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > aides embauche covid 1`] = ` -"[1232,0,1500,1165,1165] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > aides embauche covid 2`] = `"[7079,0,5000,3948,3298]"`; - -exports[`calculate simulations-salarié > aides embauche covid 3`] = ` -"[1407,0,1500,1284,1284] -Notifications affichées : contrat salarié . CDD . information, contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > aides embauche covid 4`] = ` -"[881,0,1500,1457,1457] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > apprentissage 1`] = ` -"[1547,0,1500,1457,1457] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > apprentissage 2`] = ` -"[1381,0,1500,1457,1457] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > atmp 1`] = `"[2438,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > avantages 1`] = `"[2571,0,2000,1540,1490]"`; - -exports[`calculate simulations-salarié > avantages 2`] = `"[2581,0,2000,1539,1489]"`; - -exports[`calculate simulations-salarié > avantages 3`] = `"[2491,0,2000,1549,1500]"`; - -exports[`calculate simulations-salarié > cadre 1`] = `"[4116,0,3000,2348,2160]"`; - -exports[`calculate simulations-salarié > cdd 1`] = ` -"[3198,0,2200,1894,1815] -Notifications affichées : contrat salarié . CDD . information" -`; - -exports[`calculate simulations-salarié > cdd 2`] = ` -"[3472,0,2200,2009,1897] -Notifications affichées : contrat salarié . CDD . information" -`; - -exports[`calculate simulations-salarié > cdd 3`] = ` -"[3765,0,2200,2197,2084] -Notifications affichées : contrat salarié . CDD . information" -`; - -exports[`calculate simulations-salarié > cdd 4`] = ` -"[4416,0,2200,2370,2179] -Notifications affichées : contrat salarié . CDD . information" -`; - -exports[`calculate simulations-salarié > cdd 5`] = ` -"[3759,0,2200,1920,1841] -Notifications affichées : contrat salarié . CDD . information, contrat salarié . convention collective . contrôle décharge" -`; - -exports[`calculate simulations-salarié > contrat pro 1`] = `"[899,0,1500,1165,1165]"`; - -exports[`calculate simulations-salarié > contrat pro 2`] = `"[1566,0,1500,1165,1165]"`; - -exports[`calculate simulations-salarié > effectif 1`] = `"[2383,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > effectif 2`] = `"[2430,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > effectif 3`] = `"[2442,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > effectif 4`] = `"[2442,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > frais pro - DFS 1`] = `"[2105,0,2000,1625,1625]"`; - -exports[`calculate simulations-salarié > frais pro - DFS 2`] = `"[2212,0,2000,1584,1549]"`; - -exports[`calculate simulations-salarié > frais pro - DFS 3`] = `"[2158,0,2000,1601,1553]"`; - -exports[`calculate simulations-salarié > frais pro - DFS 4`] = `"[2158,0,2000,1601,1553]"`; - -exports[`calculate simulations-salarié > frais pro - DFS 5`] = `"[2383,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > frais pro - DFS 6`] = `"[1765,0,1700,1354,1354]"`; - -exports[`calculate simulations-salarié > frais pro - DFS 7`] = `"[3258,0,2600,2125,2092]"`; - -exports[`calculate simulations-salarié > frais pro - abo transports + transports personnels 1`] = `"[4382,0,3200,2553,2356]"`; - -exports[`calculate simulations-salarié > frais pro - abo transports + transports personnels 2`] = `"[5012,0,3200,2916,2619]"`; - -exports[`calculate simulations-salarié > frais pro - abo transports + transports personnels 3`] = `"[4688,0,3200,2836,2637]"`; - -exports[`calculate simulations-salarié > frais pro - abonnement transports publics 1`] = `"[4380,0,3200,2551,2354]"`; - -exports[`calculate simulations-salarié > frais pro - abonnement transports publics 2`] = `"[5090,0,3200,3261,3064]"`; - -exports[`calculate simulations-salarié > frais pro - abonnement transports publics 3`] = `"[4380,0,3200,2551,2354]"`; - -exports[`calculate simulations-salarié > frais pro - abonnement transports publics 4`] = `"[4356,0,3200,2527,2330]"`; - -exports[`calculate simulations-salarié > frais pro - titres restaurant 1`] = `"[2423,0,2000,1521,1487]"`; - -exports[`calculate simulations-salarié > frais pro - titres restaurant 2`] = `"[4300,0,3000,2135,1945]"`; - -exports[`calculate simulations-salarié > frais pro - titres restaurant 3`] = `"[2467,0,2000,1493,1458]"`; - -exports[`calculate simulations-salarié > frais pro - transports personnels seul 1`] = `"[4382,0,3200,2553,2356]"`; - -exports[`calculate simulations-salarié > frais pro - transports personnels seul 2`] = `"[4382,0,3200,2553,2356]"`; - -exports[`calculate simulations-salarié > frais pro - transports personnels seul 3`] = `"[5008,0,3200,2913,2617]"`; - -exports[`calculate simulations-salarié > frais pro - transports personnels seul 4`] = `"[4382,0,3200,2553,2356]"`; - -exports[`calculate simulations-salarié > frais pro - transports personnels seul 5`] = `"[4390,0,3200,2548,2349]"`; - -exports[`calculate simulations-salarié > frais pro - transports personnels seul 6`] = `"[4135,0,3200,2589,2480]"`; - -exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 1`] = `"[2484,0,2000,1636,1601]"`; - -exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 2`] = `"[2444,0,2000,1606,1572]"`; - -exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 3`] = `"[2554,0,2000,1636,1601]"`; - -exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 4`] = ` -"[2481,0,2000,1632,1598] -Notifications affichées : contrat salarié . convention collective . contrôle décharge" -`; - -exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 5`] = ` -"[2448,0,2000,1606,1572] -Notifications affichées : contrat salarié . convention collective . contrôle décharge" -`; - -exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 6`] = ` -"[2432,0,2000,1601,1566] -Notifications affichées : contrat salarié . convention collective . contrôle décharge" -`; - -exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 7`] = ` -"[3330,2446,2000,1919,1886] -Notifications affichées : contrat salarié . temps de travail . contrôle heures complémentaires 10 pourcents" -`; - -exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 8`] = ` -"[3279,2286,2000,1889,1856] -Notifications affichées : contrat salarié . temps de travail . contrôle heures complémentaires 10 pourcents" -`; - -exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 1`] = `"[4070,0,3000,2353,2336]"`; - -exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 2`] = `"[4070,0,3000,2353,2353]"`; - -exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 3`] = `"[4070,0,3000,2353,2353]"`; - -exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 4`] = `"[4070,0,3000,2353,1911]"`; - -exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 5`] = `"[4070,0,3000,2353,2219]"`; - -exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 6`] = `"[12886,0,9000,7156,6052]"`; - -exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 7`] = `"[12886,0,9000,7156,6342]"`; - -exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 8`] = `"[12886,0,9000,7156,6859]"`; - -exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 9`] = `"[4070,0,3000,2353,2178]"`; - -exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 10`] = `"[4070,0,3000,2353,2353]"`; - -exports[`calculate simulations-salarié > impôt sur le revenu 1`] = `"[4070,0,3000,2353,2168]"`; - -exports[`calculate simulations-salarié > impôt sur le revenu 2`] = ` -"[41833,0,30000,24227,14685] -Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" -`; - -exports[`calculate simulations-salarié > impôt sur le revenu 3`] = ` -"[4960,0,3000,2846,2559] -Notifications affichées : contrat salarié . CDD . information" -`; - -exports[`calculate simulations-salarié > impôt sur le revenu 4`] = `"[3782,0,3000,2353,2252]"`; - -exports[`calculate simulations-salarié > impôt sur le revenu 5`] = ` -"[41833,0,30000,24227,14685] -Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" -`; - -exports[`calculate simulations-salarié > impôt sur le revenu 6`] = `"[4070,0,3000,2626,2485]"`; - -exports[`calculate simulations-salarié > impôt sur le revenu 7`] = ` -"[41833,0,30000,26966,16655] -Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" -`; - -exports[`calculate simulations-salarié > impôt sur le revenu 8`] = `"[4070,0,3000,2353,2107]"`; - -exports[`calculate simulations-salarié > inversions 1`] = `"[2000,0,1797,1400,1393]"`; - -exports[`calculate simulations-salarié > inversions 2`] = `"[3426,0,2554,2000,1889]"`; - -exports[`calculate simulations-salarié > inversions 3`] = `"[3668,0,2703,2117,2000]"`; - -exports[`calculate simulations-salarié > lodeom 1`] = ` -"[1588,0,1521,1182,1182] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > lodeom 2`] = `"[2081,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > lodeom 3`] = `"[3782,0,3000,2353,2168]"`; - -exports[`calculate simulations-salarié > lodeom 4`] = `"[5428,0,4000,3146,2755]"`; - -exports[`calculate simulations-salarié > lodeom 5`] = `"[7784,0,5500,4349,3634]"`; - -exports[`calculate simulations-salarié > lodeom compétitivité renforcée 1`] = ` -"[1588,0,1521,1182,1182] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > lodeom compétitivité renforcée 2`] = `"[2081,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > lodeom compétitivité renforcée 3`] = `"[3281,0,3000,2353,2168]"`; - -exports[`calculate simulations-salarié > lodeom compétitivité renforcée 4`] = `"[5186,0,4000,3146,2755]"`; - -exports[`calculate simulations-salarié > lodeom compétitivité renforcée 5`] = `"[7784,0,5500,4349,3634]"`; - -exports[`calculate simulations-salarié > lodeom innovation et croissance 1`] = ` -"[1588,0,1521,1182,1182] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > lodeom innovation et croissance 2`] = `"[2081,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > lodeom innovation et croissance 3`] = `"[3171,0,3000,2353,2168]"`; - -exports[`calculate simulations-salarié > lodeom innovation et croissance 4`] = `"[4529,0,4000,3146,2755]"`; - -exports[`calculate simulations-salarié > lodeom innovation et croissance 5`] = `"[7643,0,5500,4349,3634]"`; - -exports[`calculate simulations-salarié > stage 1`] = ` -"[500,0,500,500,500] -Notifications affichées : contrat salarié . stage . avertissement, contrat salarié . stage . contrôle gratification minimale" -`; - -exports[`calculate simulations-salarié > stage 2`] = ` -"[2484,0,2000,1750,1750] -Notifications affichées : contrat salarié . stage . avertissement" -`; - -exports[`calculate simulations-salarié > taux spécifiques retraite complémentaire 1`] = ` -"[1601,0,1521,1195,1195] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > taux spécifiques retraite complémentaire 2`] = `"[3346,0,2500,1979,1869]"`; - -exports[`calculate simulations-salarié > taux spécifiques retraite complémentaire 3`] = ` -"[1588,0,1521,1170,1170] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > taux spécifiques retraite complémentaire 4`] = `"[3306,0,2500,1938,1830]"`; - -exports[`calculate simulations-salarié > temps partiel 1`] = `"[2503,2188,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > temps partiel 2`] = `"[2475,2500,1857,1448,1428]"`; - -exports[`calculate simulations-salarié > temps partiel 3`] = ` -"[1101,1750,1000,770,770] -Notifications affichées : contrat salarié . temps de travail . temps partiel . contrôle temps min" -`; - -exports[`calculate simulations-salarié > treizième mois 1`] = `"[3308,0,2300,1950,1842]"`; - -exports[`calculate simulations-salarié > treizième mois 2`] = `"[3794,2965,2300,2186,2071]"`; - -exports[`calculate simulations-salarié > treizième mois 3`] = `"[2948,0,2300,1799,1733]"`; - -exports[`calculate simulations-salarié > échelle de salaires 1`] = ` -"[123,0,100,57,57] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > échelle de salaires 2`] = ` -"[278,0,250,176,176] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > échelle de salaires 3`] = ` -"[535,0,500,374,374] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > échelle de salaires 4`] = ` -"[793,0,750,572,572] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > échelle de salaires 5`] = ` -"[1050,0,1000,770,770] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > échelle de salaires 6`] = ` -"[1308,0,1250,968,968] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > échelle de salaires 7`] = ` -"[1566,0,1500,1165,1165] -Notifications affichées : contrat salarié . rémunération . contrôle smic" -`; - -exports[`calculate simulations-salarié > échelle de salaires 8`] = `"[2383,0,2000,1561,1527]"`; - -exports[`calculate simulations-salarié > échelle de salaires 9`] = `"[3324,0,2500,1957,1848]"`; - -exports[`calculate simulations-salarié > échelle de salaires 10`] = `"[4070,0,3000,2353,2168]"`; - -exports[`calculate simulations-salarié > échelle de salaires 11`] = `"[5428,0,4000,3146,2755]"`; - -exports[`calculate simulations-salarié > échelle de salaires 12`] = `"[7079,0,5000,3948,3298]"`; - -exports[`calculate simulations-salarié > échelle de salaires 13`] = ` -"[14315,0,10000,7958,5892] -Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" -`; - -exports[`calculate simulations-salarié > échelle de salaires 14`] = ` -"[28342,0,20000,15969,10359] -Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" -`; - -exports[`calculate simulations-salarié > échelle de salaires 15`] = ` -"[128588,0,100000,87157,45821] -Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" -`; - -exports[`calculate simulations-salarié > échelle de salaires 16`] = ` -"[1244012,0,1000000,896257,445643] -Notifications affichées : contrat salarié . rémunération . contrôle salaire élevé" -`; diff --git a/site/test/regressions/simulations-artiste-auteur.test.ts b/site/test/regressions/simulations-artiste-auteur.test.ts new file mode 100644 index 000000000..ce47d2c17 --- /dev/null +++ b/site/test/regressions/simulations-artiste-auteur.test.ts @@ -0,0 +1,12 @@ +import { it } from 'vitest' +import artisteAuteurConfig from '../../source/pages/Simulateurs/configs/artiste-auteur.yaml' +import artisteAuteurSituations from './simulations-artiste-auteur.yaml' +import { runSimulations } from './utils' + +it('calculate simulations-artiste-auteur', () => { + runSimulations( + artisteAuteurSituations, + artisteAuteurConfig.objectifs, + artisteAuteurConfig.situation + ) +}) diff --git a/site/test/regressions/simulations-assimilé-salarié.ts b/site/test/regressions/simulations-assimilé-salarié.ts new file mode 100644 index 000000000..edf03a240 --- /dev/null +++ b/site/test/regressions/simulations-assimilé-salarié.ts @@ -0,0 +1,15 @@ +import { it } from 'vitest' +import remunerationDirigeantConfig from '../../source/pages/Simulateurs/configs/rémunération-dirigeant.yaml' +import remunerationDirigeantSituations from './simulations-rémunération-dirigeant.yaml' +import { runSimulations } from './utils' + +it('calculate assimilé salarié', () => { + runSimulations( + remunerationDirigeantSituations, + remunerationDirigeantConfig.objectifs, + { + ...remunerationDirigeantConfig.situation, + 'dirigeant . régime social': "'assimilé salarié'", + } + ) +}) diff --git a/site/test/regressions/simulations-assimilé-salarié.yaml b/site/test/regressions/simulations-assimilé-salarié.yaml new file mode 100644 index 000000000..fe9b01b4c --- /dev/null +++ b/site/test/regressions/simulations-assimilé-salarié.yaml @@ -0,0 +1,31 @@ +échelle de rémunération: + - dirigeant . rémunération . totale: 100 €/an + - dirigeant . rémunération . totale: 1000 €/an + - dirigeant . rémunération . totale: 2000 €/an + - dirigeant . rémunération . totale: 5000 €/an + - dirigeant . rémunération . totale: 10000 €/an + - dirigeant . rémunération . totale: 20000 €/an + - dirigeant . rémunération . totale: 50000 €/an + - dirigeant . rémunération . totale: 100000 €/an + +avec charges: + - dirigeant . rémunération . totale: 10000 €/an + entreprise . charges: 2000 €/an + - dirigeant . rémunération . totale: 20000 €/an + entreprise . charges: 15000 €/an + +ACRE: + - dirigeant . rémunération . totale: 10000 €/an + entreprise . date de création: 01/01/2022 + entreprise . ACRE: oui + - dirigeant . rémunération . totale: 20000 €/an + entreprise . date de création: 01/01/2022 + entreprise . ACRE: oui + - dirigeant . rémunération . totale: 30000 €/an + entreprise . date de création: 01/06/2021 + entreprise . ACRE: oui + +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-auto-entrepreneur.test.ts b/site/test/regressions/simulations-auto-entrepreneur.test.ts new file mode 100644 index 000000000..ea2d18d03 --- /dev/null +++ b/site/test/regressions/simulations-auto-entrepreneur.test.ts @@ -0,0 +1,35 @@ +import { expect, it } from 'vitest' +import autoentrepreneurConfig from '../../source/pages/Simulateurs/configs/auto-entrepreneur.yaml' +import autoEntrepreneurSituations from './simulations-auto-entrepreneur.yaml' +import { engine, getMissingVariables, runSimulations } from './utils' + +it('calculate simulations-auto-entrepreneur', () => { + runSimulations( + autoEntrepreneurSituations, + autoentrepreneurConfig.objectifs, + autoentrepreneurConfig.situation + ) + + expect( + getMissingVariables( + engine + .setSituation({ + ...autoentrepreneurConfig.situation, + "dirigeant . auto-entrepreneur . chiffre d'affaires": '30000 €/an', + }) + .evaluate('dirigeant . auto-entrepreneur . net après impôt') + ) + ).toMatchInlineSnapshot(` + [ + "entreprise . activité . mixte", + "entreprise . activité", + "impôt . foyer fiscal . enfants à charge", + "entreprise . activité . service ou vente", + "impôt . foyer fiscal . situation de famille", + "dirigeant . auto-entrepreneur . impôt . versement libératoire", + "entreprise . date de création", + "impôt . foyer fiscal . revenu imposable . autres revenus imposables", + "impôt . méthode de calcul", + ] + `) +}) diff --git a/site/test/regressions/simulations-auto-entrepreneur.yaml b/site/test/regressions/simulations-auto-entrepreneur.yaml index 243fa3590..4f3a325b9 100644 --- a/site/test/regressions/simulations-auto-entrepreneur.yaml +++ b/site/test/regressions/simulations-auto-entrepreneur.yaml @@ -38,6 +38,25 @@ ACRE: entreprise . date de création: 01/01/2022 entreprise . ACRE: oui +activités: + - dirigeant . rémunération . totale: 20000 €/an + entreprise . activité: "'libérale'" + - dirigeant . rémunération . totale: 20000 €/an + entreprise . activité: "'libérale'" + entreprise . activité . libérale réglementée: oui + - dirigeant . rémunération . totale: 20000 €/an + entreprise . activité: "'artisanale'" + entreprise . activité . service ou vente: "'vente'" + - dirigeant . rémunération . totale: 20000 €/an + entreprise . activité: "'artisanale'" + entreprise . activité . service ou vente: "'service'" + - dirigeant . rémunération . totale: 20000 €/an + entreprise . activité: "'commerciale'" + entreprise . activité . service ou vente: "'vente'" + - dirigeant . rémunération . totale: 20000 €/an + entreprise . activité: "'commerciale'" + entreprise . activité . service ou vente: "'service'" + activité mixte: - dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 €/an entreprise . activité . mixte: oui diff --git a/site/test/regressions/simulations-dividendes.test.ts b/site/test/regressions/simulations-dividendes.test.ts new file mode 100644 index 000000000..5ca8284ed --- /dev/null +++ b/site/test/regressions/simulations-dividendes.test.ts @@ -0,0 +1,19 @@ +import { it } from 'vitest' +import dividendesConfig from '../../source/pages/Simulateurs/configs/dividendes.yaml' +import dividendesSituations from './simulations-dividendes.yaml' +import { runSimulations } from './utils' + +it('calculate simulations-dividendes', () => { + runSimulations( + dividendesSituations, + [ + ...dividendesConfig.objectifs, + 'bénéficiaire . dividendes . cotisations et contributions', + 'impôt . montant', + 'impôt . revenu imposable', + 'bénéficiaire . dividendes . imposables', + "impôt . taux d'imposition", + ], + dividendesConfig.situation + ) +}) diff --git a/site/test/regressions/simulations-impôt-société.test.ts b/site/test/regressions/simulations-impôt-société.test.ts new file mode 100644 index 000000000..5e291bdfa --- /dev/null +++ b/site/test/regressions/simulations-impôt-société.test.ts @@ -0,0 +1,17 @@ +import { it } from 'vitest' +import impotSocieteSituations from './simulations-impôt-société.yaml' +import { runSimulations } from './utils' + +it('calculate simulations-impot-société', () => { + runSimulations( + impotSocieteSituations, + [ + 'entreprise . imposition . IS . montant', + 'entreprise . imposition . IS . contribution sociale', + ], + { + 'entreprise . imposition': "'IS'", + 'entreprise . imposition . IS . éligible taux réduit': 'oui', + } + ) +}) diff --git a/site/test/regressions/simulations-indépendant.test.ts b/site/test/regressions/simulations-indépendant.test.ts new file mode 100644 index 000000000..1470a227b --- /dev/null +++ b/site/test/regressions/simulations-indépendant.test.ts @@ -0,0 +1,20 @@ +import { DottedName } from 'modele-social' +import { it } from 'vitest' +import independantConfig from '../../source/pages/Simulateurs/configs/indépendant.yaml' +import independentSituations from './simulations-indépendant.yaml' +import { runSimulations } from './utils' + +it('calculate simulations-indépendant', () => { + const objectifs = [ + 'dirigeant . rémunération . totale', + 'dirigeant . rémunération . cotisations', + 'dirigeant . rémunération . nette', + 'dirigeant . indépendant . revenu professionnel', + 'impôt . montant', + 'dirigeant . rémunération . nette après impôt', + 'entreprise . charges', + "entreprise . chiffre d'affaires", + 'dirigeant . indépendant . cotisations et contributions . début activité', + ] as DottedName[] + runSimulations(independentSituations, objectifs, independantConfig.situation) +}) diff --git a/site/test/regressions/simulations-indépendant.yaml b/site/test/regressions/simulations-indépendant.yaml index d3e61ae29..e906b11c3 100644 --- a/site/test/regressions/simulations-indépendant.yaml +++ b/site/test/regressions/simulations-indépendant.yaml @@ -120,3 +120,47 @@ imposition à l'IS: exonération pension invalidité: - dirigeant . rémunération . totale: 45000 €/an dirigeant . indépendant . cotisations et contributions . exonérations . pension invalidité: oui + +contrats madelin: + # Cas retraite: la cotisation Madelin est inferieure au plafond => le revenu net de + # cotisations (résultat comptable) n'est pas affecté car l'assiette des + # cotisations ne change pas: + - dirigeant . rémunération . totale: 30000 €/an + entreprise . charges: 10000 €/an + dirigeant . indépendant . cotisations facultatives: oui + dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance: 3800 €/an # plafond: 10% PSS donc environ 4100 + # Cas retraite: la cotisation Madelin est supérieure au plafond => le revenu net de + # cotisations est affecté car l'assiette des cotisations est plus élevée + - dirigeant . rémunération . totale: 30000 €/an + entreprise . charges: 10000 €/an + dirigeant . indépendant . cotisations facultatives: oui + dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance: 5000 €/an # plafond: 10% PSS donc environ 4100 + # Cas mutuelle + - dirigeant . rémunération . totale: 30000 €/an + entreprise . charges: 10000 €/an + dirigeant . indépendant . cotisations facultatives: oui + dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance: 1000 €/an + # Cas global madelin faible + - dirigeant . rémunération . totale: 20000 €/an + entreprise . charges: 1000 €/an + dirigeant . indépendant . cotisations facultatives: oui + dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance: 200 €/an + dirigeant . indépendant . cotisations facultatives . contrats madelin . retraite: 300 €/an + # Cas global madelin grand (plafonds calculés différemment) + - dirigeant . rémunération . totale: 300000 €/an + entreprise . charges: 15000 €/an + dirigeant . indépendant . cotisations facultatives: oui + dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance: 1500 €/an + dirigeant . indépendant . cotisations facultatives . contrats madelin . retraite: 5000 €/an + # Cas charges plus faibles que total madelin + - dirigeant . rémunération . totale: 20000 €/an + entreprise . charges: 500 €/an + dirigeant . indépendant . cotisations facultatives: oui + dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance: 300 €/an + dirigeant . indépendant . cotisations facultatives . contrats madelin . retraite: 300 €/an + # PER + - dirigeant . rémunération . totale: 20000 €/an + dirigeant . indépendant . cotisations facultatives: oui + 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 diff --git a/site/test/regressions/simulations-professions-libérales.test.ts b/site/test/regressions/simulations-professions-libérales.test.ts new file mode 100644 index 000000000..b0ceeef78 --- /dev/null +++ b/site/test/regressions/simulations-professions-libérales.test.ts @@ -0,0 +1,15 @@ +import { it } from 'vitest' +import professionLibéraleConfig from '../../source/pages/Simulateurs/configs/profession-libérale.yaml' +import professionsLibéralesSituations from './simulations-professions-libérales.yaml' +import { runSimulations } from './utils' + +it('calculate simulations-professions-libérales', () => { + runSimulations( + professionsLibéralesSituations, + professionLibéraleConfig.objectifs, + { + ...professionLibéraleConfig.situation, + 'entreprise . activité . libérale réglementée': 'oui', + } + ) +}) diff --git a/site/test/regressions/simulations-rémunération-dirigeant.yaml b/site/test/regressions/simulations-rémunération-dirigeant.yaml deleted file mode 100644 index 0f25ebc0a..000000000 --- a/site/test/regressions/simulations-rémunération-dirigeant.yaml +++ /dev/null @@ -1,94 +0,0 @@ -échelle de rémunération: - - dirigeant . rémunération . totale: 100 €/an - - dirigeant . rémunération . totale: 1000 €/an - - dirigeant . rémunération . totale: 2000 €/an - - dirigeant . rémunération . totale: 5000 €/an - - dirigeant . rémunération . totale: 10000 €/an - - dirigeant . rémunération . totale: 20000 €/an - - dirigeant . rémunération . totale: 50000 €/an - - dirigeant . rémunération . totale: 100000 €/an - -avec charges: - - dirigeant . rémunération . totale: 10000 €/an - entreprise . charges: 2000 €/an - - dirigeant . rémunération . totale: 20000 €/an - entreprise . charges: 15000 €/an - -ACRE: - - dirigeant . rémunération . totale: 10000 €/an - entreprise . date de création: 01/01/2022 - entreprise . ACRE: oui - - dirigeant . rémunération . totale: 20000 €/an - entreprise . date de création: 01/01/2022 - entreprise . ACRE: oui - - dirigeant . rémunération . totale: 30000 €/an - entreprise . date de création: 01/06/2021 - entreprise . ACRE: oui - -activités: - - dirigeant . rémunération . totale: 20000 €/an - entreprise . activité: "'libérale'" - - dirigeant . rémunération . totale: 20000 €/an - entreprise . activité: "'libérale'" - entreprise . activité . libérale réglementée: oui - - dirigeant . rémunération . totale: 20000 €/an - entreprise . activité: "'artisanale'" - entreprise . activité . service ou vente: "'vente'" - - dirigeant . rémunération . totale: 20000 €/an - entreprise . activité: "'artisanale'" - entreprise . activité . service ou vente: "'service'" - - dirigeant . rémunération . totale: 20000 €/an - entreprise . activité: "'commerciale'" - entreprise . activité . service ou vente: "'vente'" - - dirigeant . rémunération . totale: 20000 €/an - entreprise . activité: "'commerciale'" - entreprise . activité . service ou vente: "'service'" - -Contrats Madelin: - # Cas retraite: la cotisation Madelin est inferieure au plafond => le revenu net de - # cotisations (résultat comptable) n'est pas affecté car l'assiette des - # cotisations ne change pas: - - dirigeant . rémunération . totale: 30000 €/an - entreprise . charges: 10000 €/an - dirigeant . indépendant . cotisations facultatives: oui - dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance: 3800 €/an # plafond: 10% PSS donc environ 4100 - # Cas retraite: la cotisation Madelin est supérieure au plafond => le revenu net de - # cotisations est affecté car l'assiette des cotisations est plus élevée - - dirigeant . rémunération . totale: 30000 €/an - entreprise . charges: 10000 €/an - dirigeant . indépendant . cotisations facultatives: oui - dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance: 5000 €/an # plafond: 10% PSS donc environ 4100 - # Cas mutuelle - - dirigeant . rémunération . totale: 30000 €/an - entreprise . charges: 10000 €/an - dirigeant . indépendant . cotisations facultatives: oui - dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance: 1000 €/an - # Cas global madelin faible - - dirigeant . rémunération . totale: 20000 €/an - entreprise . charges: 1000 €/an - dirigeant . indépendant . cotisations facultatives: oui - dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance: 200 €/an - dirigeant . indépendant . cotisations facultatives . contrats madelin . retraite: 300 €/an - # Cas global madelin grand (plafonds calculés différemment) - - dirigeant . rémunération . totale: 300000 €/an - entreprise . charges: 15000 €/an - dirigeant . indépendant . cotisations facultatives: oui - dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance: 1500 €/an - dirigeant . indépendant . cotisations facultatives . contrats madelin . retraite: 5000 €/an - # Cas charges plus faibles que total madelin - - dirigeant . rémunération . totale: 20000 €/an - entreprise . charges: 500 €/an - dirigeant . indépendant . cotisations facultatives: oui - dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance: 300 €/an - dirigeant . indépendant . cotisations facultatives . contrats madelin . retraite: 300 €/an - # PER - - dirigeant . rémunération . totale: 20000 €/an - dirigeant . indépendant . cotisations facultatives: oui - 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é.test.ts b/site/test/regressions/simulations-salarié.test.ts new file mode 100644 index 000000000..5e0f0e64d --- /dev/null +++ b/site/test/regressions/simulations-salarié.test.ts @@ -0,0 +1,45 @@ +import { expect, it } from 'vitest' +import employeeConfig from '../../source/pages/Simulateurs/configs/salarié.yaml' +import employeeSituations from './simulations-salarié.yaml' +import { engine, getMissingVariables, runSimulations } from './utils' + +it('calculate simulations-salarié', () => { + runSimulations( + employeeSituations, + employeeConfig.objectifs, + employeeConfig.situation + ) + + expect( + getMissingVariables( + engine + .setSituation({ + ...employeeConfig.situation, + 'contrat salarié . rémunération . brut de base': '3000 €/mois', + }) + .evaluate('contrat salarié . rémunération . net après impôt') + ) + ).toMatchInlineSnapshot(` + [ + "contrat salarié", + "contrat salarié . convention collective", + "contrat salarié . temps de travail . temps partiel", + "contrat salarié . rémunération . primes . activité . base", + "contrat salarié . temps de travail . heures supplémentaires", + "contrat salarié . frais professionnels . abonnement transports publics . montant", + "contrat salarié . frais professionnels . transports personnels . carburant faible émission . montant", + "contrat salarié . déduction forfaitaire spécifique", + "contrat salarié . frais professionnels . titres-restaurant", + "contrat salarié . frais professionnels . transports personnels . forfait mobilités durables . montant", + "contrat salarié . rémunération . avantages en nature", + "contrat salarié . rémunération . primes . fin d'année . treizième mois", + "contrat salarié . complémentaire santé . forfait", + "contrat salarié . complémentaire santé . part employeur", + "situation personnelle . domiciliation fiscale à l'étranger", + "contrat salarié . statut cadre", + "contrat salarié . régime des impatriés", + "établissement . localisation", + "impôt . méthode de calcul", + ] + `) +}) diff --git a/site/test/regressions/simulations.test.ts b/site/test/regressions/simulations.test.ts deleted file mode 100644 index 71c47972c..000000000 --- a/site/test/regressions/simulations.test.ts +++ /dev/null @@ -1,200 +0,0 @@ -// The goal of these tests is to avoid deploying unwanted changes in the calculations. We run a number -// of simulations and persist their results in a snapshot (ie, a file commited in git). Our test runner, -// Jest, then compare the existing snapshot with the current Engine calculation and reports any difference. -// -// We only persist targets values in the file system, in order to be resilient to rule renaming (if a rule is -// renamed the test configuration may be adapted but the persisted snapshot will remain unchanged). - -import rules, { DottedName } from 'modele-social' -import { expect, it } from 'vitest' -import { engineFactory } from '../../source/components/utils/EngineContext' -import aideDéclarationConfig from '../../source/pages/gerer/declaration-charges-sociales-independant/_config.yaml' -import artisteAuteurConfig from '../../source/pages/Simulateurs/configs/artiste-auteur.yaml' -import autoentrepreneurConfig from '../../source/pages/Simulateurs/configs/auto-entrepreneur.yaml' -import dividendesConfig from '../../source/pages/Simulateurs/configs/dividendes.yaml' -import independantConfig from '../../source/pages/Simulateurs/configs/indépendant.yaml' -import professionLibéraleConfig from '../../source/pages/Simulateurs/configs/profession-libérale.yaml' -import remunerationDirigeantConfig from '../../source/pages/Simulateurs/configs/rémunération-dirigeant.yaml' -import employeeConfig from '../../source/pages/Simulateurs/configs/salarié.yaml' -import { Simulation } from '../../source/reducers/rootReducer' -import aideDéclarationIndépendantsSituations from './assistant-charges-sociales.yaml' -import artisteAuteurSituations from './simulations-artiste-auteur.yaml' -import autoEntrepreneurSituations from './simulations-auto-entrepreneur.yaml' -import dividendesSituations from './simulations-dividendes.yaml' -import impotSocieteSituations from './simulations-impôt-société.yaml' -import independentSituations from './simulations-indépendant.yaml' -import professionsLibéralesSituations from './simulations-professions-libérales.yaml' -import remunerationDirigeantSituations from './simulations-rémunération-dirigeant.yaml' -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: () => undefined, - error: (m: string) => console.error(m), - log: () => undefined, - }, -}) -const runSimulations = ( - situationsSpecs: SituationsSpecs, - objectifs: DottedName[], - baseSituation: Simulation['situation'] = {} -) => - Object.entries(situationsSpecs).map(([name, situations]) => - situations.forEach((situation) => { - Object.keys(situation).forEach((situationRuleName) => { - // TODO: This check may be moved in the `engine.setSituation` method - if (!Object.keys(engine.getParsedRules()).includes(situationRuleName)) { - throw new Error( - `La règle ${situationRuleName} n'existe pas dans la base de règles.` - ) - } - }) - engine.setSituation({ ...baseSituation, ...situation }) - const res = objectifs.map( - (objectif) => engine.evaluate(objectif).nodeValue - ) - - const evaluatedNotifications = Object.values(engine.getParsedRules()) - .filter( - (rule) => - rule.rawNode.type === 'notification' && - engine.evaluate(rule.dottedName).nodeValue === true - ) - .map((node) => node.dottedName) - - const snapshotedDisplayedNotifications = evaluatedNotifications.length - ? `\nNotifications affichées : ${evaluatedNotifications.join(', ')}` - : '' - // Stringify is not required, but allows the result to be displayed in a single - // line in the snapshot, which considerably reduce the number of lines of this snapshot - // and improve its readability. - expect( - JSON.stringify(roundResult(res as number[])) + - snapshotedDisplayedNotifications - ).toMatchSnapshot(name) - }) - ) - -it('calculate simulations-salarié', () => { - runSimulations( - employeeSituations, - employeeConfig.objectifs, - employeeConfig.situation - ) -}) - -it('calculate simulations-indépendant', () => { - const objectifs = [ - 'dirigeant . rémunération . totale', - 'dirigeant . rémunération . cotisations', - 'dirigeant . rémunération . nette', - 'dirigeant . indépendant . revenu professionnel', - 'impôt . montant', - 'dirigeant . rémunération . nette après impôt', - 'entreprise . charges', - "entreprise . chiffre d'affaires", - 'dirigeant . indépendant . cotisations et contributions . début activité', - ] as DottedName[] - runSimulations(independentSituations, objectifs, independantConfig.situation) -}) - -it('calculate simulations-auto-entrepreneur', () => { - runSimulations( - autoEntrepreneurSituations, - autoentrepreneurConfig.objectifs, - autoentrepreneurConfig.situation - ) -}) - -it('calculate simulations-rémunération-dirigeant (assimilé salarié)', () => { - runSimulations( - remunerationDirigeantSituations, - remunerationDirigeantConfig.objectifs, - { - ...remunerationDirigeantConfig.situation, - 'dirigeant . régime social': "'assimilé salarié'", - } - ) -}) - -it('calculate simulations-rémunération-dirigeant (auto-entrepreneur)', () => { - runSimulations( - remunerationDirigeantSituations, - remunerationDirigeantConfig.objectifs, - { - ...remunerationDirigeantConfig.situation, - 'entreprise . catégorie juridique': "'EI'", - 'entreprise . catégorie juridique . EI . auto-entrepreneur': 'oui', - } - ) -}) - -it('calculate simulations-rémunération-dirigeant (indépendant)', () => { - runSimulations( - remunerationDirigeantSituations, - remunerationDirigeantConfig.objectifs, - remunerationDirigeantConfig.situation - ) -}) - -it('calculate simulations-artiste-auteur', () => { - runSimulations( - artisteAuteurSituations, - artisteAuteurConfig.objectifs, - artisteAuteurConfig.situation - ) -}) - -it('calculate assistant-charges-sociales', () => { - runSimulations( - aideDéclarationIndépendantsSituations, - aideDéclarationConfig.objectifs, - { - 'déclaration charge sociales . comptabilité': "'engagement'", - 'entreprise . imposition . régime . micro-fiscal': "'non'", - ...aideDéclarationConfig.situation, - } - ) -}) - -it('calculate simulations-professions-libérales', () => { - runSimulations( - professionsLibéralesSituations, - professionLibéraleConfig.objectifs, - { - ...professionLibéraleConfig.situation, - 'entreprise . activité . libérale réglementée': 'oui', - } - ) -}) - -it('calculate simulations-impot-société', () => { - runSimulations( - impotSocieteSituations, - [ - 'entreprise . imposition . IS . montant', - 'entreprise . imposition . IS . contribution sociale', - ], - { - 'entreprise . imposition': "'IS'", - 'entreprise . imposition . IS . éligible taux réduit': 'oui', - } - ) -}) - -it('calculate simulations-dividendes', () => { - runSimulations( - dividendesSituations, - [ - ...dividendesConfig.objectifs, - 'bénéficiaire . dividendes . cotisations et contributions', - 'impôt . montant', - 'impôt . revenu imposable', - 'bénéficiaire . dividendes . imposables', - "impôt . taux d'imposition", - ], - dividendesConfig.situation - ) -}) diff --git a/site/test/regressions/utils.ts b/site/test/regressions/utils.ts new file mode 100644 index 000000000..c59e626ea --- /dev/null +++ b/site/test/regressions/utils.ts @@ -0,0 +1,69 @@ +// The goal of these tests is to avoid deploying unwanted changes in the calculations. We run a number +// of simulations and persist their results in a snapshot (ie, a file commited in git). Our test runner, +// Jest, then compare the existing snapshot with the current Engine calculation and reports any difference. +// +// We only persist targets values in the file system, in order to be resilient to rule renaming (if a rule is +// renamed the test configuration may be adapted but the persisted snapshot will remain unchanged). + +import rules, { DottedName } from 'modele-social' +import { expect } from 'vitest' +import { engineFactory } from '../../source/components/utils/EngineContext' +import { Simulation } from '../../source/reducers/rootReducer' + +type SituationsSpecs = Record +const roundResult = (arr: number[]) => arr.map((x) => Math.round(x)) + +export const engine = engineFactory(rules, { + logger: { + warn: () => undefined, + error: (m: string) => console.error(m), + log: () => undefined, + }, +}) +export const runSimulations = ( + situationsSpecs: SituationsSpecs, + objectifs: DottedName[], + baseSituation: Simulation['situation'] = {} +) => + Object.entries(situationsSpecs).map(([name, situations]) => + situations.forEach((situation) => { + Object.keys(situation).forEach((situationRuleName) => { + // TODO: This check may be moved in the `engine.setSituation` method + if (!Object.keys(engine.getParsedRules()).includes(situationRuleName)) { + throw new Error( + `La règle ${situationRuleName} n'existe pas dans la base de règles.` + ) + } + }) + engine.setSituation({ ...baseSituation, ...situation }) + const res = objectifs.map( + (objectif) => engine.evaluate(objectif).nodeValue + ) + + const evaluatedNotifications = Object.values(engine.getParsedRules()) + .filter( + (rule) => + rule.rawNode.type === 'notification' && + engine.evaluate(rule.dottedName).nodeValue === true + ) + .map((node) => node.dottedName) + + const snapshotedDisplayedNotifications = evaluatedNotifications.length + ? `\nNotifications affichées : ${evaluatedNotifications.join(', ')}` + : '' + // Stringify is not required, but allows the result to be displayed in a single + // line in the snapshot, which considerably reduce the number of lines of this snapshot + // and improve its readability. + expect( + JSON.stringify(roundResult(res as number[])) + + snapshotedDisplayedNotifications + ).toMatchSnapshot(name) + }) + ) + +export const getMissingVariables = ( + evaluatedNode: ReturnType +) => + Object.entries(evaluatedNode.missingVariables) + .sort(([, scoreA], [, scoreB]) => scoreB - scoreA) + .map(([name]) => name)