Skip to content

Commit

Permalink
test(réduction-générale): Ajoute des tests pour le simulateur réducti…
Browse files Browse the repository at this point in the history
…on générale
  • Loading branch information
liliced committed Aug 27, 2024
1 parent 62523d3 commit 56b7ec7
Show file tree
Hide file tree
Showing 6 changed files with 390 additions and 5 deletions.
2 changes: 1 addition & 1 deletion site/cypress/integration/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
Les jeux de tests qu'on souhaite faire tourner avec le langage FR et EN doivent aller dans le
sous-dossier `mon-entreprise/english`.

Les autres jeux ne seront testés qu'avent le langage FR.
Les autres jeux ne seront testés qu'avec le langage FR.
110 changes: 110 additions & 0 deletions site/cypress/integration/mon-entreprise/reduction-generale.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
import { checkA11Y, fr } from '../../support/utils'

describe('Réduction générale', { testIsolation: false }, function () {
if (!fr) {
return
}

const inputSelector = 'div[id="simulator-legend"] input[inputmode="numeric"]'

before(function () {
return cy.visit('/simulateurs/réduction-générale')
})

it('should not crash', function () {
cy.contains('Salaire brut')
})

it('should allow to select a company size', function () {
cy.get('button').contains('SMIC').click()

cy.contains('Plus de 50 salariés').click()
cy.contains('Modifier mes réponses').click()
cy.get('div[data-cy="modal"]')
.eq(0)
.contains('Effectif')
.next()
.contains('100')
cy.get('div[data-cy="modal"]').eq(0).contains('Fermer').click()

cy.contains('Moins de 50 salariés').click()
cy.contains('Modifier mes réponses').click()
cy.get('div[data-cy="modal"]')
.eq(0)
.contains('Effectif')
.next()
.contains('10')
cy.get('div[data-cy="modal"]').eq(0).contains('Fermer').click()
})

it('should allow to change time period', function () {
cy.contains('Montant mensuel').click()
cy.get(inputSelector).first().type('{selectall}2000')

cy.contains('Montant annuel').click()
cy.get(inputSelector).first().should('have.value', '24 000 €')
})

it('should have median salary and SMIC buttons', function () {
cy.contains('Montant mensuel').click()
cy.get('button').contains('SMIC')
cy.get('button').contains('salaire médian').click()
cy.get(inputSelector).first().should('have.value', '2 600 €')
})

it('should display values for the réduction générale', function () {
cy.contains('Montant mensuel').click()
cy.get(inputSelector).first().type('{selectall}1900')

cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale-value"]'
).should('include.text', '494 €')
cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale___part_retraite-value"]'
).should('include.text', '93 €')
cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale___part_Urssaf-value"]'
).should('include.text', '401 €')
cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale___part_Urssaf___part_chômage-value"]'
).should('include.text', '63 €')

cy.contains('Plus de 50 salariés').click()
cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale-value"]'
).should('include.text', '500 €')
cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale___part_retraite-value"]'
).should('include.text', '93 €')
cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale___part_Urssaf-value"]'
).should('include.text', '407 €')
cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale___part_Urssaf___part_chômage-value"]'
).should('include.text', '63 €')
})

it('should display a warning for a salary too high', function () {
cy.contains('Montant mensuel').click()
cy.get(inputSelector).first().type('{selectall}3000')

cy.get('div[id="simulator-legend"]').should(
'include.text',
'La RGCP concerne uniquement les salaires inférieurs à 1,6 SMIC.'
)

cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale___part_retraite-value"]'
).should('include.text', '0 €')
cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale___part_Urssaf-value"]'
).should('include.text', '0 €')
cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale___part_Urssaf___part_chômage-value"]'
).should('include.text', '0 €')
})

it('should be RGAA compliant', function () {
checkA11Y()
})
})
199 changes: 199 additions & 0 deletions site/test/regressions/__snapshots__/réduction-générale.test.ts.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html

exports[`calculate simulations-dividendes > DFS 1`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 513
salarié . cotisations . exonérations . réduction générale . part Urssaf: 407
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 72
salarié . cotisations . exonérations . réduction générale . part retraite: 106"
`;

exports[`calculate simulations-dividendes > DFS 2`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 547
salarié . cotisations . exonérations . réduction générale . part Urssaf: 444
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 69
salarié . cotisations . exonérations . réduction générale . part retraite: 103"
`;

exports[`calculate simulations-dividendes > DFS 3`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 564
salarié . cotisations . exonérations . réduction générale . part Urssaf: 458
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 72
salarié . cotisations . exonérations . réduction générale . part retraite: 106"
`;

exports[`calculate simulations-dividendes > DFS 4`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 564
salarié . cotisations . exonérations . réduction générale . part Urssaf: 458
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 72
salarié . cotisations . exonérations . réduction générale . part retraite: 106"
`;

exports[`calculate simulations-dividendes > DFS 5`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 440
salarié . cotisations . exonérations . réduction générale . part Urssaf: 357
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 56
salarié . cotisations . exonérations . réduction générale . part retraite: 83"
`;

exports[`calculate simulations-dividendes > avantages 1`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 387
salarié . cotisations . exonérations . réduction générale . part Urssaf: 314
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 49
salarié . cotisations . exonérations . réduction générale . part retraite: 73"
`;

exports[`calculate simulations-dividendes > avantages 2`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 387
salarié . cotisations . exonérations . réduction générale . part Urssaf: 314
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 49
salarié . cotisations . exonérations . réduction générale . part retraite: 73"
`;

exports[`calculate simulations-dividendes > effectif 1`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 440
salarié . cotisations . exonérations . réduction générale . part Urssaf: 357
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 56
salarié . cotisations . exonérations . réduction générale . part retraite: 83"
`;

exports[`calculate simulations-dividendes > effectif 2`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 446
salarié . cotisations . exonérations . réduction générale . part Urssaf: 363
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 56
salarié . cotisations . exonérations . réduction générale . part retraite: 83"
`;

exports[`calculate simulations-dividendes > heures supplémentaires 1`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 461
salarié . cotisations . exonérations . réduction générale . part Urssaf: 374
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 58
salarié . cotisations . exonérations . réduction générale . part retraite: 87"
`;

exports[`calculate simulations-dividendes > primes 1`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 387
salarié . cotisations . exonérations . réduction générale . part Urssaf: 314
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 49
salarié . cotisations . exonérations . réduction générale . part retraite: 73"
`;

exports[`calculate simulations-dividendes > primes 2`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 352
salarié . cotisations . exonérations . réduction générale . part Urssaf: 285
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 45
salarié . cotisations . exonérations . réduction générale . part retraite: 66"
`;

exports[`calculate simulations-dividendes > salaire 1`] = `
"salarié . contrat . salaire brut: 100
salarié . cotisations . exonérations . réduction générale: 32
salarié . cotisations . exonérations . réduction générale . part Urssaf: 26
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 4
salarié . cotisations . exonérations . réduction générale . part retraite: 6
Notifications affichées : salarié . rémunération . assiette de vérification du SMIC . contrôle"
`;

exports[`calculate simulations-dividendes > salaire 2`] = `
"salarié . contrat . salaire brut: 250
salarié . cotisations . exonérations . réduction générale: 80
salarié . cotisations . exonérations . réduction générale . part Urssaf: 65
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 10
salarié . cotisations . exonérations . réduction générale . part retraite: 15
Notifications affichées : salarié . rémunération . assiette de vérification du SMIC . contrôle"
`;

exports[`calculate simulations-dividendes > salaire 3`] = `
"salarié . contrat . salaire brut: 500
salarié . cotisations . exonérations . réduction générale: 160
salarié . cotisations . exonérations . réduction générale . part Urssaf: 130
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 20
salarié . cotisations . exonérations . réduction générale . part retraite: 30
Notifications affichées : salarié . rémunération . assiette de vérification du SMIC . contrôle"
`;

exports[`calculate simulations-dividendes > salaire 4`] = `
"salarié . contrat . salaire brut: 750
salarié . cotisations . exonérations . réduction générale: 240
salarié . cotisations . exonérations . réduction générale . part Urssaf: 194
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 30
salarié . cotisations . exonérations . réduction générale . part retraite: 45
Notifications affichées : salarié . rémunération . assiette de vérification du SMIC . contrôle"
`;

exports[`calculate simulations-dividendes > salaire 5`] = `
"salarié . contrat . salaire brut: 1000
salarié . cotisations . exonérations . réduction générale: 319
salarié . cotisations . exonérations . réduction générale . part Urssaf: 259
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 40
salarié . cotisations . exonérations . réduction générale . part retraite: 60
Notifications affichées : salarié . rémunération . assiette de vérification du SMIC . contrôle"
`;

exports[`calculate simulations-dividendes > salaire 6`] = `
"salarié . contrat . salaire brut: 1250
salarié . cotisations . exonérations . réduction générale: 399
salarié . cotisations . exonérations . réduction générale . part Urssaf: 324
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 51
salarié . cotisations . exonérations . réduction générale . part retraite: 75
Notifications affichées : salarié . rémunération . assiette de vérification du SMIC . contrôle"
`;

exports[`calculate simulations-dividendes > salaire 7`] = `
"salarié . contrat . salaire brut: 1500
salarié . cotisations . exonérations . réduction générale: 479
salarié . cotisations . exonérations . réduction générale . part Urssaf: 389
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 61
salarié . cotisations . exonérations . réduction générale . part retraite: 90
Notifications affichées : salarié . rémunération . assiette de vérification du SMIC . contrôle"
`;

exports[`calculate simulations-dividendes > salaire 8`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 440
salarié . cotisations . exonérations . réduction générale . part Urssaf: 357
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 56
salarié . cotisations . exonérations . réduction générale . part retraite: 83"
`;

exports[`calculate simulations-dividendes > salaire 9`] = `
"salarié . contrat . salaire brut: 2500
salarié . cotisations . exonérations . réduction générale: 174
salarié . cotisations . exonérations . réduction générale . part Urssaf: 141
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 22
salarié . cotisations . exonérations . réduction générale . part retraite: 33"
`;

exports[`calculate simulations-dividendes > salaire 10`] = `
"salarié . contrat . salaire brut: 3000
salarié . cotisations . exonérations . réduction générale: 0
salarié . cotisations . exonérations . réduction générale . part Urssaf: 0
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 0
salarié . cotisations . exonérations . réduction générale . part retraite: 0"
`;

exports[`calculate simulations-dividendes > temps partiel 1`] = `
"salarié . contrat . salaire brut: 2000
salarié . cotisations . exonérations . réduction générale: 311
salarié . cotisations . exonérations . réduction générale . part Urssaf: 253
salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage: 39
salarié . cotisations . exonérations . réduction générale . part retraite: 59"
`;
8 changes: 4 additions & 4 deletions site/test/regressions/__snapshots__/salarié.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ salarié . rémunération . net . à payer avant impôt: 1561"
exports[`calculate simulations-salarié > ATMP 2`] = `
"salarié . contrat . salaire brut: 2000
salarié . contrat . salaire brut . équivalent temps plein: null
salarié . coût total employeur: 2248
salarié . coût total employeur: 2247
salarié . rémunération . net . payé après impôt: 1553
salarié . rémunération . net . à payer avant impôt: 1561"
`;
Expand Down Expand Up @@ -279,7 +279,7 @@ salarié . rémunération . net . à payer avant impôt: 1561"
exports[`calculate simulations-salarié > effectif 2`] = `
"salarié . contrat . salaire brut: 2000
salarié . contrat . salaire brut . équivalent temps plein: null
salarié . coût total employeur: 2294
salarié . coût total employeur: 2293
salarié . rémunération . net . payé après impôt: 1553
salarié . rémunération . net . à payer avant impôt: 1561"
`;
Expand Down Expand Up @@ -353,7 +353,7 @@ Notifications affichées : salarié . rémunération . assiette de vérification
exports[`calculate simulations-salarié > frais pro - DFS 7`] = `
"salarié . contrat . salaire brut: 2600
salarié . contrat . salaire brut . équivalent temps plein: null
salarié . coût total employeur: 3126
salarié . coût total employeur: 3127
salarié . rémunération . net . payé après impôt: 2125
salarié . rémunération . net . à payer avant impôt: 2125"
`;
Expand Down Expand Up @@ -449,7 +449,7 @@ salarié . rémunération . net . à payer avant impôt: 2141"
exports[`calculate simulations-salarié > frais pro - titres restaurant 3`] = `
"salarié . contrat . salaire brut: 2000
salarié . contrat . salaire brut . équivalent temps plein: null
salarié . coût total employeur: 2367
salarié . coût total employeur: 2366
salarié . rémunération . net . payé après impôt: 1485
salarié . rémunération . net . à payer avant impôt: 1493"
`;
Expand Down
20 changes: 20 additions & 0 deletions site/test/regressions/réduction-générale.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { it } from 'vitest'

import { configRéductionGénérale } from '@/pages/simulateurs/reduction-generale/simulationConfig'

import réductionGénéraleSituation from './réduction-générale.yaml'
import { runSimulations } from './utils'

it('calculate simulations-dividendes', () => {
runSimulations(
réductionGénéraleSituation,
[
...(configRéductionGénérale['objectifs exclusifs'] ?? []),
...(configRéductionGénérale.objectifs ?? []),
'salarié . cotisations . exonérations . réduction générale . part retraite',
'salarié . cotisations . exonérations . réduction générale . part Urssaf',
'salarié . cotisations . exonérations . réduction générale . part Urssaf . part chômage',
],
configRéductionGénérale.situation
)
})
Loading

0 comments on commit 56b7ec7

Please sign in to comment.