Skip to content

Commit

Permalink
tests(rgcp): correction et ajout de tests pour le récap
Browse files Browse the repository at this point in the history
  • Loading branch information
liliced committed Dec 13, 2024
1 parent fee11dc commit 9b03783
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 34 deletions.
90 changes: 56 additions & 34 deletions site/cypress/integration/mon-entreprise/reduction-generale.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,16 @@ describe(
})

it('should allow to change time period', function () {
cy.contains('Réduction mensuelle').click()
cy.get(inputSelector).first().type('{selectall}1900')
cy.get(inputSelector).first().type('{selectall}22800')

cy.contains('Réduction annuelle').click()
cy.get(inputSelector).first().should('have.value', '22 800 €')
cy.contains('Réduction mensuelle').click()
// Wait for values to update
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(750)
cy.get(inputSelector).first().should('have.value', '1 900 €')
})

it('should display values for the réduction générale', function () {
cy.contains('Réduction mensuelle').click()

cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale-value"]'
).should('include.text', '523,26 €')
Expand Down Expand Up @@ -83,23 +83,25 @@ describe(
})

it('should display a warning for a remuneration too high', function () {
cy.contains('Réduction mensuelle').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-value"]'
).should('have.text', '0 €')
cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale___imputation_retraite_complémentaire-value"]'
).should('include.text', '0 €')
).should('have.text', '0 €')
cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale___imputation_sécurité_sociale-value"]'
).should('include.text', '0 €')
).should('have.text', '0 €')
cy.get(
'p[id="salarié___cotisations___exonérations___réduction_générale___imputation_chômage-value"]'
).should('include.text', '0 €')
).should('have.text', '0 €')
})

it('should display remuneration and RGCP month by month', function () {
Expand All @@ -108,7 +110,7 @@ describe(

cy.contains('Réduction mois par mois').click()
cy.contains('Réduction générale mois par mois :')
// Wait for 1 ms in order for values to update
// Wait for values to update
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(1)
cy.get(inputSelector)
Expand All @@ -128,11 +130,8 @@ describe(
})

it('should calculate RGCP month by month independently', function () {
cy.contains('Moins de 50 salariés').click()
cy.contains('Réduction mois par mois').click()

cy.get(inputSelector).first().type('{selectall}1900')
cy.get(inputSelector).eq(1).type('{selectall}2000')

cy.get(
'#salarié___cotisations___exonérations___réduction_générale-janvier'
).should('include.text', '493,43 €')
Expand All @@ -142,31 +141,21 @@ describe(
})

it('should save remuneration between tabs', function () {
cy.contains('Moins de 50 salariés').click()
cy.contains('Réduction mensuelle').click()
cy.get(inputSelector).first().type('{selectall}1900')
cy.contains('Réduction mois par mois').click()
cy.get(inputSelector).first().type('{selectall}2000')
cy.get(inputSelector).eq(1).type('{selectall}2000')

cy.contains('Réduction mensuelle').click()
cy.get(inputSelector).first().should('have.value', '1 916,67 €')
cy.get(inputSelector).first().should('have.value', '1 908,33 €')
cy.contains('Réduction annuelle').click()
cy.get(inputSelector).first().should('have.value', '23 000 €')
cy.get(inputSelector).first().should('have.value', '22 900 €')
cy.contains('Réduction mois par mois').click()
cy.get(inputSelector).each(($input, index) => {
let expectedValue = '1 900 €'
if (index < 2) {
if (index === 1) {
expectedValue = '2 000 €'
}
cy.wrap($input).should('have.value', expectedValue)
})
})

it('should include progressive regularisation', function () {
cy.contains('Réduction mensuelle').click()
cy.get(inputSelector).first().type('{selectall}1900')
cy.contains('Réduction mois par mois').click()
cy.get(inputSelector).eq(1).type('{selectall}3000')

cy.get(
Expand All @@ -191,7 +180,7 @@ describe(
).should('include.text', '0 €')
cy.get(
'#salarié___cotisations___exonérations___réduction_générale__régularisation-février'
).should('include.text', '0 €')
).should('not.exist')
cy.get(
'#salarié___cotisations___exonérations___réduction_générale-mars'
).should('include.text', '493,43 €')
Expand Down Expand Up @@ -225,13 +214,46 @@ describe(
)
.should('be.visible')
.click()
cy.get('input[id="option-rémunération-etp-janvier"]').should('be.visible')
cy.get('input[id="option-rémunération-primes-janvier"]').should(
'be.visible'
cy.get('input[id="option-rémunération-etp-janvier"]')
.should('be.visible')
.type('{selectall}1900')
cy.get('input[id="option-rémunération-primes-janvier"]')
.should('be.visible')
.type('{selectall}200')
cy.get('input[id="option-rémunération-heures-sup-janvier"]')
.should('be.visible')
.type('{selectall}100')

cy.get(
'#salarié___cotisations___exonérations___réduction_générale-janvier'
).should('include.text', '479,10 €')

cy.get(
'div[id="simulator-legend"] button[aria-describedby="options-description"]'
)
cy.get('input[id="option-rémunération-heures-sup-janvier"]').should(
'be.visible'
.first()
.click()
})

it('should include a recap table', function () {
cy.contains('Régularisation progressive').click()
cy.get('div[id="simulator-legend"]').should(
'include.text',
'Récapitulatif trimestriel'
)

cy.get(inputSelector).each(($input, index) => {
if (index > 2 && index < 6) {
cy.wrap($input).type('{selectall}3000')
}
})
// Wait for values to update
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(500)
cy.get('#recap-1er_trimestre-671').should('include.text', '602,88 €')
cy.get('#recap-2ème_trimestre-801').should('include.text', '-276,40 €')
cy.get('#recap-3ème_trimestre-671').should('include.text', '1 481,79 €')
cy.get('#recap-4ème_trimestre-671').should('include.text', '1 539,05 €')
})

it('should be RGAA compliant', function () {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ export default function RécapitulatifTrimestre({
const Montant671 = () => {
return (
<MontantRéduction
id={`recap-${label.replace(/\s|\./g, '_')}-671`}
rémunérationBrute={rémunération}
réductionGénérale={réduction}
répartition={répartition}
Expand All @@ -85,6 +86,7 @@ export default function RécapitulatifTrimestre({
const Montant801 = () => {
return (
<MontantRéduction
id={`recap-${label.replace(/\s|\./g, '_')}-801`}
rémunérationBrute={rémunération}
réductionGénérale={régularisation}
répartition={répartition}
Expand Down

0 comments on commit 9b03783

Please sign in to comment.