diff --git a/site/cypress/integration/mon-entreprise/assistants/declaration-revenus-pamc.ts b/site/cypress/integration/mon-entreprise/assistants/declaration-revenus-pamc.ts index 62820d1e3..7fecaa153 100644 --- a/site/cypress/integration/mon-entreprise/assistants/declaration-revenus-pamc.ts +++ b/site/cypress/integration/mon-entreprise/assistants/declaration-revenus-pamc.ts @@ -3,8 +3,9 @@ import { checkA11Y, fr } from '../../../support/utils' const idPrefix = 'déclaration_revenus_PAMC__' const structureDeSoins = 'activité_en_structures_de_soins' const exonerations = 'déductions_et_exonérations' -const autresRevenus = 'autres_revenus_non_salariés' +const autresRevenus = 'autres_revenus_non_salariés__' const revenusNets = 'revenus_nets__' +const revenusDeRemplaçement = 'revenus_de_remplacement__' describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { if (!fr) { @@ -16,12 +17,13 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { }) it("devrait s'afficher", function () { - cy.contains('Assistant à la déclaration de revenus pour les PAMC').should( - 'be.visible' - ) + cy.get('h1') + .contains('Assistant à la déclaration de revenus pour les PAMC') + .should('be.visible') }) it('devrait demander la profession', function () { + cy.get('h2').contains('Profession').should('be.visible') cy.contains('Quelle est votre profession ?').should('be.visible') }) @@ -39,10 +41,12 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { it('devrait demander le régime fiscal une fois le statut sélectionné', function () { cy.contains('Sage-femme').click() + cy.get('h2').contains('Rrégime fiscal').should('not.exist') cy.contains('Quel est votre régime fiscal ?').should('not.exist') cy.contains('Titulaire').click() + cy.get('h2').contains('Régime fiscal').should('be.visible') cy.contains('Quel est votre régime fiscal ?').should('be.visible') }) @@ -50,6 +54,9 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.contains('Sage-femme').click() cy.contains('Titulaire').click() + cy.get('h2').as('titles') + + cy.get('@titles').contains('Recettes').should('not.exist') cy.contains('Recettes brutes totales').should('not.exist') cy.get(`#${idPrefix}_recettes_brutes_totales`).should('not.exist') cy.contains('Revenus imposables').should('not.exist') @@ -57,6 +64,7 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.contains('Cotisations sociales obligatoires').should('not.exist') cy.get(`#${idPrefix}_cotisations_sociales_obligatoires`).should('not.exist') + cy.get('@titles').contains('Données du relevé SNIR').should('not.exist') cy.contains('Honoraires tirés d’actes conventionnés').should('not.exist') cy.get(`#${idPrefix}_SNIR___honoraires_remboursables`).should('not.exist') cy.contains('Dépassements d’honoraires').should('not.exist') @@ -72,6 +80,7 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.contains('Taux Urssaf').should('not.exist') cy.get(`#${idPrefix}_SNIR___taux_urssaf`).should('not.exist') + cy.get('@titles').contains('Structures de soins').should('not.exist') cy.contains( 'Avez-vous des recettes issues d’une activité en structure de soins ?' ).should('not.exist') @@ -79,6 +88,7 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.contains('Montant').should('not.exist') cy.get(`#${idPrefix}_${structureDeSoins}___recettes`).should('not.exist') + cy.get('@titles').contains('Déductions et exonérations').should('not.exist') cy.contains( 'Bénéficiez-vous de déductions et/ou de revenus exonérés fiscalement ?' ).should('not.exist') @@ -89,6 +99,12 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.get( `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins` ).should('not.exist') + cy.contains( + 'Déduction du groupe III et déduction complémentaire 3%' + ).should('not.exist') + cy.get(`#${idPrefix}_${exonerations}___déduction_groupe_III`).should( + 'not.exist' + ) cy.contains('Revenus exonérés').should('not.exist') cy.get(`#${idPrefix}_${exonerations}___revenus_exonérés`).should( 'not.exist' @@ -104,38 +120,61 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { 'not.exist' ) + cy.get('@titles') + .contains('Autres revenus non salariés') + .should('not.exist') cy.contains( 'Avez-vous des revenus non salariés autres que ceux relevant du régime micro-BNC ?' ).should('not.exist') - cy.get(`#${idPrefix}_${autresRevenus}`).should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_micro-BNC`).should('not.exist') + cy.contains( + 'Avez-vous des revenus non salariés autres que ceux relevant des BNC ?' + ).should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_BNC`).should('not.exist') cy.contains('Plus-values nettes à court terme').should('not.exist') cy.get( - `#${idPrefix}_${autresRevenus}___plus-values_nettes_à_court_terme` + `#${idPrefix}_${autresRevenus}_plus-values_nettes_à_court_terme` ).should('not.exist') cy.contains('Micro-BIC : chiffre d’affaires vente de marchandises').should( 'not.exist' ) - cy.get(`#${idPrefix}_${autresRevenus}___micro-BIC_marchandises`).should( + cy.get(`#${idPrefix}_${autresRevenus}_micro-BIC_marchandises`).should( 'not.exist' ) cy.contains('Micro-BIC : chiffre d’affaires prestation de service').should( 'not.exist' ) - cy.get(`#${idPrefix}_${autresRevenus}___micro-BIC_service`).should( + cy.get(`#${idPrefix}_${autresRevenus}_micro-BIC_service`).should( 'not.exist' ) cy.contains('Micro-BA : chiffre d’affaires agricole').should('not.exist') - cy.get(`#${idPrefix}_${autresRevenus}___micro-BA`).should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_micro-BA`).should('not.exist') + cy.contains('Bénéfice/déficit BIC').should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_BIC`).should('not.exist') + cy.contains('Bénéfice/déficit agricole').should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_agricole`).should('not.exist') + cy.get('@titles').contains('Actes conventionnés').should('not.exist') cy.contains( 'Avez-vous effectué uniquement des actes conventionnés ?' ).should('not.exist') cy.get(`#${idPrefix}_actes_conventionnés_uniquement`).should('not.exist') + cy.get('@titles').contains('Revenus de remplacement').should('not.exist') cy.contains( 'Avez-vous perçu des indemnités de la Caf, de la CPAM ou de votre caisse de retraite ?' ).should('not.exist') cy.get(`#${idPrefix}_revenus_de_remplacement`).should('not.exist') + cy.contains( + 'Montant des indemnités journalières versées par la CPAM' + ).should('not.exist') + cy.get(`#${idPrefix}_revenus_de_remplacement___IJ`).should('not.exist') + cy.contains( + 'Montant des indemnités d’incapacité temporaire versées par la caisse retraite' + ).should('not.exist') + cy.get( + `#${idPrefix}_revenus_de_remplacement___indemnités_incapacité_temporaire` + ).should('not.exist') cy.contains( 'Montant des allocations journalières du proche aidant (AJPA) versées par la CAF' ).should('not.exist') @@ -147,6 +186,9 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.contains('Titulaire').click() cy.contains('micro-fiscal').click() + cy.get('h2').as('titles') + + cy.get('@titles').contains('Recettes').should('be.visible') cy.contains('Recettes brutes totales').should('be.visible') cy.get(`#${idPrefix}_recettes_brutes_totales`).should('be.visible') cy.contains('Revenus imposables').should('be.visible') @@ -156,6 +198,7 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { 'be.visible' ) + cy.get('@titles').contains('Structures de soins').should('be.visible') cy.contains('Honoraires tirés d’actes conventionnés').should('be.visible') cy.get(`#${idPrefix}_SNIR___honoraires_remboursables`).should('be.visible') cy.contains('Dépassements d’honoraires').should('be.visible') @@ -166,21 +209,29 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { ).should('be.visible') cy.get(`#${idPrefix}_${structureDeSoins}`).should('be.visible') + cy.get('@titles') + .contains('Déductions et exonérations') + .should('be.visible') cy.contains( 'Bénéficiez-vous de déductions et/ou de revenus exonérés fiscalement ?' ).should('be.visible') cy.get(`#${idPrefix}_${exonerations}`).should('be.visible') + cy.get('@titles') + .contains('Autres revenus non salariés') + .should('be.visible') cy.contains( 'Avez-vous des revenus non salariés autres que ceux relevant du régime micro-BNC ?' ).should('be.visible') - cy.get(`#${idPrefix}_${autresRevenus}`).should('be.visible') + cy.get(`#${idPrefix}_${autresRevenus}_micro-BNC`).should('be.visible') + cy.get('@titles').contains('Actes conventionnés').should('be.visible') cy.contains( 'Avez-vous effectué uniquement des actes conventionnés ?' ).should('be.visible') cy.get(`#${idPrefix}_actes_conventionnés_uniquement`).should('be.visible') + cy.get('@titles').contains('Revenus de remplacement').should('be.visible') cy.contains( 'Avez-vous perçu des indemnités de la Caf, de la CPAM ou de votre caisse de retraite ?' ).should('be.visible') @@ -203,13 +254,55 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.contains('Titulaire').click() cy.contains('micro-fiscal').click() - cy.contains('Afin de faciliter le remplissage, préparez :').should('be.visible') + cy.contains('Afin de faciliter le remplissage, préparez :').should( + 'be.visible' + ) cy.contains('régime réel').click() - cy.contains('Afin de faciliter le remplissage, munissez-vous des annexes A et B de votre liasse fiscale 2035.').should('be.visible') + cy.contains( + 'Afin de faciliter le remplissage, munissez-vous des annexes A et B de votre liasse fiscale 2035.' + ).should('be.visible') cy.contains('déclaration contrôlée').click() - cy.contains('Afin de faciliter le remplissage, munissez-vous des annexes A et B de votre liasse fiscale 2035.').should('be.visible') + cy.contains( + 'Afin de faciliter le remplissage, munissez-vous des annexes A et B de votre liasse fiscale 2035.' + ).should('be.visible') + }) + + it('devrait formuler différemment la question sur les autres revenus pour le régime réel et la déclaration contrôlée', function () { + // Régime micro-fiscal + cy.contains('Sage-femme').click() + cy.contains('Titulaire').click() + cy.contains('micro-fiscal').click() + + cy.contains( + 'Avez-vous des revenus non salariés autres que ceux relevant des BNC ?' + ).should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_BNC`).should('not.exist') + + // Régime réel + cy.contains('régime réel').click() + + cy.contains( + 'Avez-vous des revenus non salariés autres que ceux relevant du régime micro-BNC ?' + ).should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_micro-BNC`).should('not.exist') + cy.contains( + 'Avez-vous des revenus non salariés autres que ceux relevant des BNC ?' + ).should('be.visible') + cy.get(`#${idPrefix}_${autresRevenus}_BNC`).should('be.visible') + + // Déclaration contrôlée + cy.contains('déclaration contrôlée').click() + + cy.contains( + 'Avez-vous des revenus non salariés autres que ceux relevant du régime micro-BNC ?' + ).should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_micro-BNC`).should('not.exist') + cy.contains( + 'Avez-vous des revenus non salariés autres que ceux relevant des BNC ?' + ).should('be.visible') + cy.get(`#${idPrefix}_${autresRevenus}_BNC`).should('be.visible') }) it('ne devrait pas montrer les résultats avant que les champs soient remplis', function () { @@ -218,29 +311,56 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.contains('Titulaire').click() cy.contains('micro-fiscal').click() - cy.contains('Montants à reporter dans votre déclaration de revenus').should( - 'not.exist' - ) + cy.get('h2') + .contains('Montants à reporter dans votre déclaration de revenus') + .should('not.exist') + + cy.get('h3').as('titles') + + cy.contains( + 'Situation au 1er janvier ou à la date du début d’activité' + ).should('not.exist') + cy.contains('Vous êtes titulaire').should('not.exist') + cy.contains('Vous êtes remplaçant').should('not.exist') + cy.get(`[id="${idPrefix}_statut_=_'titulaire'-value"]`).should('not.exist') + cy.get(`[id="${idPrefix}_statut_=_'remplaçant'-value"]`).should('not.exist') cy.contains( 'Recettes brutes totales tirées des activités non salariées' ).should('not.exist') cy.get(`#${idPrefix}_recettes_brutes_totales-value`).should('not.exist') - cy.contains('Montant des revenus de remplacement').should('not.exist') - cy.contains( - 'Montant des allocations journalières du proche aidant (AJPA) versées par la CAF' - ).should('not.exist') - cy.get(`#${idPrefix}_revenus_de_remplacement___AJPA-value`).should( + cy.get('@titles') + .contains('Montant des revenus de remplacement') + .should('not.exist') + cy.get(`${idPrefix}_${revenusDeRemplaçement}_IJ-label`).should('not.exist') + cy.get(`#${idPrefix}_${revenusDeRemplaçement}_IJ-value`).should('not.exist') + cy.get(`${idPrefix}_${revenusDeRemplaçement}_AJPA-label`).should( 'not.exist' ) - - cy.contains('Exonération zone déficitaire en offre de soins').should( + cy.get(`#${idPrefix}_${revenusDeRemplaçement}_AJPA-value`).should( 'not.exist' ) + cy.get( + `${idPrefix}_${revenusDeRemplaçement}_indemnités_incapacité_temporaire-label` + ).should('not.exist') + cy.get( + `#${idPrefix}_${revenusDeRemplaçement}_indemnités_incapacité_temporaire-value` + ).should('not.exist') + + cy.get('@titles').contains('Déductions et exonérations').should('not.exist') + cy.get( + `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins-label` + ).should('not.exist') cy.get( `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins-value` ).should('not.exist') + cy.contains('Médecin secteur 1 - déduction complémentaire 3%').should( + 'not.exist' + ) + cy.get(`#${idPrefix}_${exonerations}___déduction_groupe_III-value`).should( + 'not.exist' + ) cy.get(`#${idPrefix}_${exonerations}___chèques_vacances-label`).should( 'not.exist' ) @@ -248,6 +368,9 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { 'not.exist' ) + cy.get('@titles') + .contains('Cotisations sociales obligatoires') + .should('not.exist') cy.contains( 'Cotisations sociales obligatoires déduites du résultat imposable' ).should('not.exist') @@ -255,8 +378,12 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { 'not.exist' ) - cy.contains('Répartition des revenus nets').should('not.exist') + cy.get('@titles') + .contains('Répartition des revenus nets') + .should('not.exist') cy.contains('Revenus nets de l’activité conventionnée').should('not.exist') + cy.contains('Bénéfice').should('not.exist') + cy.contains('Déficit').should('not.exist') cy.get(`#${idPrefix}_${revenusNets}_revenus_conventionnés-value`).should( 'not.exist' ) @@ -288,17 +415,19 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.get(`#${idPrefix}_SNIR___dépassements_honoraires-value`).should( 'not.exist' ) - cy.contains('Honoraires aux tarifs opposables hors forfaits').should( + cy.get(`#${idPrefix}_SNIR___honoraires_tarifs_opposables-label`).should( 'not.exist' ) cy.get(`#${idPrefix}_SNIR___honoraires_tarifs_opposables-value`).should( 'not.exist' ) - cy.contains('Honoraires totaux hors forfaits').should('not.exist') + cy.get(`#${idPrefix}_SNIR___honoraires_hors_forfaits-label`).should( + 'not.exist' + ) cy.get(`#${idPrefix}_SNIR___honoraires_hors_forfaits-value`).should( 'not.exist' ) - cy.contains('Taux Urssaf').should('not.exist') + cy.get(`#${idPrefix}_SNIR___taux_urssaf-label`).should('not.exist') cy.get(`#${idPrefix}_SNIR___taux_urssaf-value`).should('not.exist') }) @@ -312,7 +441,19 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.wrap($input).type('{selectall}100') }) - cy.contains('Montants à reporter dans votre déclaration de revenus').should( + cy.get('h2') + .contains('Montants à reporter dans votre déclaration de revenus') + .should('be.visible') + + cy.get('h3').as('titles') + + cy.contains( + 'Situation au 1er janvier ou à la date du début d’activité' + ).should('be.visible') + cy.contains('Vous êtes titulaire').should('be.visible') + cy.contains('Vous êtes remplaçant').should('be.visible') + cy.get(`[id="${idPrefix}_statut_=_'titulaire'-value"]`).should('be.visible') + cy.get(`[id="${idPrefix}_statut_=_'remplaçant'-value"]`).should( 'be.visible' ) @@ -321,6 +462,9 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { ).should('be.visible') cy.get(`#${idPrefix}_recettes_brutes_totales-value`).should('be.visible') + cy.get('@titles') + .contains('Cotisations sociales obligatoires') + .should('be.visible') cy.contains( 'Cotisations sociales obligatoires déduites du résultat imposable' ).should('be.visible') @@ -358,6 +502,7 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { }) it('devrait montrer des champs différents aux dentistes', function () { + // Non dentiste cy.contains('Réinitialiser').click() cy.contains('Sage-femme').click() cy.contains('Titulaire').click() @@ -366,9 +511,8 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.contains('Taux Urssaf').should('not.exist') cy.get(`#${idPrefix}_SNIR___taux_urssaf`).should('not.exist') + // Dentiste cy.contains('Chirurgien/chirurgienne-dentiste').click() - cy.contains('Titulaire').click() - cy.contains('micro-fiscal').click() cy.get(`#${idPrefix}_SNIR___taux_urssaf-title`).should('be.visible') cy.get(`#${idPrefix}_SNIR___taux_urssaf`).should('be.visible') @@ -380,6 +524,7 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { }) it('devrait montrer des résultats différents aux dentistes', function () { + // Non dentiste cy.contains('Réinitialiser').click() cy.contains('Sage-femme').click() cy.contains('Titulaire').click() @@ -391,9 +536,8 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.contains('Taux Urssaf').should('not.exist') cy.get(`#${idPrefix}_SNIR___taux_urssaf-value`).should('not.exist') + // Dentiste cy.contains('Chirurgien/chirurgienne-dentiste').click() - cy.contains('Titulaire').click() - cy.contains('micro-fiscal').click() cy.get('input[type="text"]').as('inputs').should('have.length', 6) cy.get('@inputs').each(($input) => { cy.wrap($input).type('{selectall}100') @@ -417,6 +561,7 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { }) it('devrait montrer des champs différents aux médecins', function () { + // Non médecin cy.contains('Réinitialiser').click() cy.contains('Sage-femme').click() cy.contains('Titulaire').click() @@ -431,9 +576,8 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.contains('Honoraires totaux hors forfaits').should('not.exist') cy.get(`#${idPrefix}_SNIR___honoraires_hors_forfaits`).should('not.exist') + // Médecin cy.contains('Médecin').click() - cy.contains('Titulaire').click() - cy.contains('micro-fiscal').click() cy.get(`#${idPrefix}_SNIR___honoraires_tarifs_opposables-title`).should( 'be.visible' @@ -448,6 +592,7 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { }) it('devrait montrer des résultats différents aux médecins', function () { + // Non médecin cy.contains('Réinitialiser').click() cy.contains('Sage-femme').click() cy.contains('Titulaire').click() @@ -467,9 +612,8 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { 'not.exist' ) + // Médecin cy.contains('Médecin').click() - cy.contains('Titulaire').click() - cy.contains('micro-fiscal').click() cy.get('input[type="text"]').as('inputs').should('have.length', 7) cy.get('@inputs').each(($input) => { cy.wrap($input).type('{selectall}100') @@ -519,7 +663,7 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.get('@questionInput').should('not.exist') // "oui" à structure de soins et "oui" à autres revenus - cy.get(`#${idPrefix}_${autresRevenus}`).contains('Oui').click() + cy.get(`#${idPrefix}_${autresRevenus}_micro-BNC`).contains('Oui').click() cy.get('@questionLabel').should('not.exist') cy.get('@questionInput').should('not.exist') @@ -607,7 +751,8 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { ) }) - it("devrait montrer un champ d'exonération supplémentaire aux médecins", function () { + it("devrait montrer un champ d'exonération supplémentaire aux médecins au régime micro-fiscal", function () { + // Non médecin cy.contains('Réinitialiser').click() cy.contains('Sage-femme').click() cy.contains('Titulaire').click() @@ -623,7 +768,14 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.get( `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins` ).should('not.exist') + cy.contains( + 'Déduction du groupe III et déduction complémentaire 3%' + ).should('not.exist') + cy.get(`#${idPrefix}_${exonerations}___déduction_groupe_III`).should( + 'not.exist' + ) + // Médecin cy.contains('Réinitialiser').click() cy.contains('Médecin').click() cy.contains('Titulaire').click() @@ -645,9 +797,107 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.get( `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins-value` ).should('be.visible') + cy.contains( + 'Déduction du groupe III et déduction complémentaire 3%' + ).should('not.exist') + cy.get(`#${idPrefix}_${exonerations}___déduction_groupe_III`).should( + 'not.exist' + ) }) - it('devrait montrer les champs pour les autres revenus non salariés conditionnellement', function () { + it("devrait montrer deux champs d'exonération supplémentaires aux médecins au régime réel ou à la déclaration contrôlée", function () { + // Non médecin au régime réel + cy.contains('Réinitialiser').click() + cy.contains('Sage-femme').click() + cy.contains('Titulaire').click() + cy.contains('régime réel').click() + cy.get('input[type="text"]').each(($input) => { + cy.wrap($input).type('{selectall}100') + }) + cy.get(`#${idPrefix}_${exonerations}`).contains('Oui').click() + + cy.contains('Exonération zone déficitaire en offre de soins').should( + 'not.exist' + ) + cy.get( + `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins` + ).should('not.exist') + cy.contains( + 'Déduction du groupe III et déduction complémentaire 3%' + ).should('not.exist') + cy.get(`#${idPrefix}_${exonerations}___déduction_groupe_III`).should( + 'not.exist' + ) + + // Non médecin à la déclaration controlée + cy.contains('déclaration contrôlée').click() + + cy.contains('Exonération zone déficitaire en offre de soins').should( + 'not.exist' + ) + cy.get( + `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins` + ).should('not.exist') + cy.contains( + 'Déduction du groupe III et déduction complémentaire 3%' + ).should('not.exist') + cy.get(`#${idPrefix}_${exonerations}___déduction_groupe_III`).should( + 'not.exist' + ) + + // Médecin au régime réel + cy.contains('Réinitialiser').click() + cy.contains('Médecin').click() + cy.contains('Titulaire').click() + cy.contains('régime réel').click() + cy.get('input[type="text"]').each(($input) => { + cy.wrap($input).type('{selectall}100') + }) + cy.get(`#${idPrefix}_${exonerations}`).contains('Oui').click() + + cy.get( + `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins-title` + ).should('be.visible') + cy.get( + `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins` + ).should('be.visible') + cy.get( + `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins-label` + ).should('be.visible') + cy.get( + `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins-value` + ).should('be.visible') + cy.contains( + 'Déduction du groupe III et déduction complémentaire 3%' + ).should('be.visible') + cy.get(`#${idPrefix}_${exonerations}___déduction_groupe_III`).should( + 'be.visible' + ) + + // Médecin à la déclaration contrôlée + cy.contains('déclaration contrôlée').click() + + cy.get( + `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins-title` + ).should('be.visible') + cy.get( + `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins` + ).should('be.visible') + cy.get( + `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins-label` + ).should('be.visible') + cy.get( + `#${idPrefix}_${exonerations}___zone_déficitaire_en_offre_de_soins-value` + ).should('be.visible') + cy.contains( + 'Déduction du groupe III et déduction complémentaire 3%' + ).should('be.visible') + cy.get(`#${idPrefix}_${exonerations}___déduction_groupe_III`).should( + 'be.visible' + ) + }) + + it('devrait montrer les champs pour les autres revenus non salariés conditionnellement pour le régime micro-fiscal', function () { cy.contains('Réinitialiser').click() cy.contains('Sage-femme').click() cy.contains('Titulaire').click() @@ -658,43 +908,119 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { cy.contains('Plus-values nettes à court terme').should('not.exist') cy.get( - `#${idPrefix}_${autresRevenus}___plus-values_nettes_à_court_terme` + `#${idPrefix}_${autresRevenus}_plus-values_nettes_à_court_terme` ).should('not.exist') cy.contains('Micro-BIC : chiffre d’affaires vente de marchandises').should( 'not.exist' ) - cy.get(`#${idPrefix}_${autresRevenus}___micro-BIC_marchandises`).should( + cy.get(`#${idPrefix}_${autresRevenus}_micro-BIC_marchandises`).should( 'not.exist' ) cy.contains('Micro-BIC : chiffre d’affaires prestation de service').should( 'not.exist' ) - cy.get(`#${idPrefix}_${autresRevenus}___micro-BIC_service`).should( + cy.get(`#${idPrefix}_${autresRevenus}_micro-BIC_service`).should( 'not.exist' ) cy.contains('Micro-BA : chiffre d’affaires agricole').should('not.exist') - cy.get(`#${idPrefix}_${autresRevenus}___micro-BA`).should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_micro-BA`).should('not.exist') + cy.contains('Bénéfice/déficit BIC').should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_BIC`).should('not.exist') + cy.contains('Bénéfice/déficit agricole').should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_agricole`).should('not.exist') - cy.get(`#${idPrefix}_${autresRevenus}`).contains('Oui').click() + cy.get(`#${idPrefix}_${autresRevenus}_micro-BNC`).contains('Oui').click() cy.contains('Plus-values nettes à court terme').should('be.visible') cy.get( - `#${idPrefix}_${autresRevenus}___plus-values_nettes_à_court_terme` + `#${idPrefix}_${autresRevenus}_plus-values_nettes_à_court_terme` ).should('be.visible') cy.contains('Micro-BIC : chiffre d’affaires vente de marchandises').should( 'be.visible' ) - cy.get(`#${idPrefix}_${autresRevenus}___micro-BIC_marchandises`).should( + cy.get(`#${idPrefix}_${autresRevenus}_micro-BIC_marchandises`).should( 'be.visible' ) cy.contains('Micro-BIC : chiffre d’affaires prestation de service').should( 'be.visible' ) - cy.get(`#${idPrefix}_${autresRevenus}___micro-BIC_service`).should( + cy.get(`#${idPrefix}_${autresRevenus}_micro-BIC_service`).should( 'be.visible' ) cy.contains('Micro-BA : chiffre d’affaires agricole').should('be.visible') - cy.get(`#${idPrefix}_${autresRevenus}___micro-BA`).should('be.visible') + cy.get(`#${idPrefix}_${autresRevenus}_micro-BA`).should('be.visible') + }) + + it('devrait montrer des champs différents pour les autres revenus non salariés au régime réel et à la déclaration contrôlée', function () { + // Régime micro-fiscal + cy.contains('Réinitialiser').click() + cy.contains('Sage-femme').click() + cy.contains('Titulaire').click() + cy.contains('micro-fiscal').click() + cy.get('input[type="text"]').each(($input) => { + cy.wrap($input).type('{selectall}100') + }) + cy.get(`#${idPrefix}_${autresRevenus}_micro-BNC`).contains('Oui').click() + + cy.contains('Bénéfice/déficit BIC').should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_BIC`).should('not.exist') + cy.contains('Bénéfice/déficit agricole').should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_agricole`).should('not.exist') + + // Régime réel + cy.contains('régime réel').click() + cy.get(`#${idPrefix}_${autresRevenus}_BNC`).contains('Oui').click() + + cy.contains('Bénéfice/déficit BIC').should('be.visible') + cy.get(`#${idPrefix}_${autresRevenus}_BIC`).should('be.visible') + cy.contains('Bénéfice/déficit agricole').should('be.visible') + cy.get(`#${idPrefix}_${autresRevenus}_agricole`).should('be.visible') + // Champs IR régime micro-fiscal + cy.contains('Plus-values nettes à court terme').should('not.exist') + cy.get( + `#${idPrefix}_${autresRevenus}_plus-values_nettes_à_court_terme` + ).should('not.exist') + cy.contains('Micro-BIC : chiffre d’affaires vente de marchandises').should( + 'not.exist' + ) + cy.get(`#${idPrefix}_${autresRevenus}_micro-BIC_marchandises`).should( + 'not.exist' + ) + cy.contains('Micro-BIC : chiffre d’affaires prestation de service').should( + 'not.exist' + ) + cy.get(`#${idPrefix}_${autresRevenus}_micro-BIC_service`).should( + 'not.exist' + ) + cy.contains('Micro-BA : chiffre d’affaires agricole').should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_micro-BA`).should('not.exist') + + // Déclaration contrôlée + cy.contains('déclaration contrôlée').click() + + cy.contains('Bénéfice/déficit BIC').should('be.visible') + cy.get(`#${idPrefix}_${autresRevenus}_BIC`).should('be.visible') + cy.contains('Bénéfice/déficit agricole').should('be.visible') + cy.get(`#${idPrefix}_${autresRevenus}_agricole`).should('be.visible') + // Champs IR régime micro-fiscal + cy.contains('Plus-values nettes à court terme').should('not.exist') + cy.get( + `#${idPrefix}_${autresRevenus}_plus-values_nettes_à_court_terme` + ).should('not.exist') + cy.contains('Micro-BIC : chiffre d’affaires vente de marchandises').should( + 'not.exist' + ) + cy.get(`#${idPrefix}_${autresRevenus}_micro-BIC_marchandises`).should( + 'not.exist' + ) + cy.contains('Micro-BIC : chiffre d’affaires prestation de service').should( + 'not.exist' + ) + cy.get(`#${idPrefix}_${autresRevenus}_micro-BIC_service`).should( + 'not.exist' + ) + cy.contains('Micro-BA : chiffre d’affaires agricole').should('not.exist') + cy.get(`#${idPrefix}_${autresRevenus}_micro-BA`).should('not.exist') }) it('devrait montrer le champ pour les revenus de remplacement conditionnellement', function () { @@ -726,6 +1052,54 @@ describe(`L'assistant à la déclaration de revenu pour PAMC`, function () { ) }) + it('devrait afficher deux champs de revenus de remplacement supplémentaires pour le régime réel et la déclaration contrôlée', function () { + cy.contains('Réinitialiser').click() + cy.contains('Sage-femme').click() + cy.contains('Titulaire').click() + cy.contains('micro-fiscal').click() + cy.get('input[type="text"]').each(($input) => { + cy.wrap($input).type('{selectall}100') + }) + cy.get(`#${idPrefix}_revenus_de_remplacement`).contains('Oui').click() + + cy.contains( + 'Montant des indemnités journalières versées par la CPAM' + ).should('not.exist') + cy.get(`#${idPrefix}_revenus_de_remplacement___IJ`).should('not.exist') + cy.contains( + 'Montant des indemnités d’incapacité temporaire versées par la caisse retraite' + ).should('not.exist') + cy.get( + `#${idPrefix}_revenus_de_remplacement___indemnités_incapacité_temporaire` + ).should('not.exist') + + cy.contains('régime réel').click() + + cy.contains( + 'Montant des indemnités journalières versées par la CPAM' + ).should('be.visible') + cy.get(`#${idPrefix}_revenus_de_remplacement___IJ`).should('be.visible') + cy.contains( + 'Montant des indemnités d’incapacité temporaire versées par la caisse retraite' + ).should('be.visible') + cy.get( + `#${idPrefix}_revenus_de_remplacement___indemnités_incapacité_temporaire` + ).should('be.visible') + + cy.contains('déclaration contrôlée').click() + + cy.contains( + 'Montant des indemnités journalières versées par la CPAM' + ).should('be.visible') + cy.get(`#${idPrefix}_revenus_de_remplacement___IJ`).should('be.visible') + cy.contains( + 'Montant des indemnités d’incapacité temporaire versées par la caisse retraite' + ).should('be.visible') + cy.get( + `#${idPrefix}_revenus_de_remplacement___indemnités_incapacité_temporaire` + ).should('be.visible') + }) + it('devrait être accessible', function () { checkA11Y() })