feat(lodeom): affiche un message au lieu du simulateur en l'absence de zone et barème
parent
5793399ec5
commit
90a44f3382
|
@ -15,8 +15,20 @@ describe('Simulateur lodeom', { testIsolation: false }, function () {
|
|||
cy.contains('Rémunération brute')
|
||||
})
|
||||
|
||||
it('should allow to change time period', function () {
|
||||
it('should display a warning when no zone is selected', function () {
|
||||
cy.contains(
|
||||
'Veuillez sélectionner une localisation et un barème pour accéder au simulateur.'
|
||||
)
|
||||
})
|
||||
|
||||
it('should display a warning when no scale is selected', function () {
|
||||
cy.contains('Guadeloupe, Guyane, Martinique, La Réunion').click()
|
||||
cy.contains(
|
||||
'Veuillez sélectionner une localisation et un barème pour accéder au simulateur.'
|
||||
)
|
||||
})
|
||||
|
||||
it('should allow to change time period', function () {
|
||||
cy.contains('Barème de compétitivité').click()
|
||||
cy.contains('Exonération annuelle').click()
|
||||
cy.get(inputSelector).first().type('{selectall}42000')
|
||||
|
|
|
@ -1465,6 +1465,7 @@ pages:
|
|||
warnings:
|
||||
JEI: The Lodeom exemption cannot be combined with the Young Innovative Company
|
||||
(JEI) exemption.
|
||||
barème: Please select a location and a scale to access the simulator.
|
||||
salaire:
|
||||
zone-deux:
|
||||
barème-moins-de-11-salariés: The scale for employers with fewer than 11
|
||||
|
|
|
@ -1558,6 +1558,8 @@ pages:
|
|||
warnings:
|
||||
JEI: L'exonération Lodeom n'est pas cumulable avec l'exonération Jeune
|
||||
Entreprise Innovante (JEI).
|
||||
barème: Veuillez sélectionner une localisation et un barème pour accéder au
|
||||
simulateur.
|
||||
salaire:
|
||||
zone-deux:
|
||||
barème-moins-de-11-salariés: Le barème pour les employeurs de moins de 11
|
||||
|
|
|
@ -7,6 +7,9 @@ import RéductionMoisParMois from '@/components/RéductionDeCotisations/Réducti
|
|||
import { SimulationGoals } from '@/components/Simulation'
|
||||
import { useEngine } from '@/components/utils/EngineContext'
|
||||
import useYear from '@/components/utils/useYear'
|
||||
import { Message } from '@/design-system'
|
||||
import { Body } from '@/design-system/typography/paragraphs'
|
||||
import { useBarèmeLodeom } from '@/hooks/useBarèmeLodeom'
|
||||
import { useZoneLodeom } from '@/hooks/useZoneLodeom'
|
||||
import { situationSelector } from '@/store/selectors/simulationSelectors'
|
||||
import {
|
||||
|
@ -42,6 +45,7 @@ export default function LodeomSimulationGoals({
|
|||
const situation = useSelector(situationSelector) as SituationType
|
||||
const previousSituation = useRef(situation)
|
||||
const currentZone = useZoneLodeom()
|
||||
const currentBarème = useBarèmeLodeom()
|
||||
const { t } = useTranslation()
|
||||
|
||||
const codeRéduction = engine.evaluate(
|
||||
|
@ -110,43 +114,54 @@ export default function LodeomSimulationGoals({
|
|||
|
||||
return (
|
||||
<SimulationGoals toggles={toggles} legend={legend}>
|
||||
{monthByMonth ? (
|
||||
<RéductionMoisParMois
|
||||
dottedName={lodeomDottedName}
|
||||
data={lodeomMoisParMoisData}
|
||||
onRémunérationChange={onRémunérationChange}
|
||||
onOptionsChange={onOptionsChange}
|
||||
caption={t(
|
||||
'pages.simulateurs.lodeom.month-by-month.caption',
|
||||
'Exonération Lodeom mois par mois :'
|
||||
)}
|
||||
warnings={<Warnings />}
|
||||
warningCondition={`${lodeomDottedName} = 0`}
|
||||
warningTooltip={<WarningSalaireTrans />}
|
||||
codeRéduction={
|
||||
codeRéduction &&
|
||||
t(`code {{ code }}`, {
|
||||
code: codeRéduction,
|
||||
})
|
||||
}
|
||||
codeRégularisation={
|
||||
codeRégularisation &&
|
||||
t(`code {{ code }}`, {
|
||||
code: codeRégularisation,
|
||||
})
|
||||
}
|
||||
withRépartitionAndRégularisation={currentZone === 'zone un'}
|
||||
/>
|
||||
) : (
|
||||
<RéductionBasique
|
||||
dottedName={lodeomDottedName}
|
||||
onUpdate={initializeLodeomMoisParMoisData}
|
||||
warnings={<Warnings />}
|
||||
warningCondition={`${lodeomDottedName} = 0`}
|
||||
warningMessage={<WarningSalaireTrans />}
|
||||
withRépartition={currentZone === 'zone un'}
|
||||
/>
|
||||
{!currentBarème && (
|
||||
<Message type="info">
|
||||
<Body>
|
||||
{t(
|
||||
'pages.simulateurs.lodeom.warnings.barème',
|
||||
'Veuillez sélectionner une localisation et un barème pour accéder au simulateur.'
|
||||
)}
|
||||
</Body>
|
||||
</Message>
|
||||
)}
|
||||
{currentBarème &&
|
||||
(monthByMonth ? (
|
||||
<RéductionMoisParMois
|
||||
dottedName={lodeomDottedName}
|
||||
data={lodeomMoisParMoisData}
|
||||
onRémunérationChange={onRémunérationChange}
|
||||
onOptionsChange={onOptionsChange}
|
||||
caption={t(
|
||||
'pages.simulateurs.lodeom.month-by-month.caption',
|
||||
'Exonération Lodeom mois par mois :'
|
||||
)}
|
||||
warnings={<Warnings />}
|
||||
warningCondition={`${lodeomDottedName} = 0`}
|
||||
warningTooltip={<WarningSalaireTrans />}
|
||||
codeRéduction={
|
||||
codeRéduction &&
|
||||
t(`code {{ code }}`, {
|
||||
code: codeRéduction,
|
||||
})
|
||||
}
|
||||
codeRégularisation={
|
||||
codeRégularisation &&
|
||||
t(`code {{ code }}`, {
|
||||
code: codeRégularisation,
|
||||
})
|
||||
}
|
||||
withRépartitionAndRégularisation={currentZone === 'zone un'}
|
||||
/>
|
||||
) : (
|
||||
<RéductionBasique
|
||||
dottedName={lodeomDottedName}
|
||||
onUpdate={initializeLodeomMoisParMoisData}
|
||||
warnings={<Warnings />}
|
||||
warningCondition={`${lodeomDottedName} = 0`}
|
||||
warningMessage={<WarningSalaireTrans />}
|
||||
withRépartition={currentZone === 'zone un'}
|
||||
/>
|
||||
))}
|
||||
</SimulationGoals>
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue