From 02abca6d6e3d0d0016f66303fc96b3f2e42f1758 Mon Sep 17 00:00:00 2001 From: Johan Girod Date: Thu, 15 Oct 2020 11:58:55 +0200 Subject: [PATCH] :sparkles: Ajoute un lien vers un questionnaire utilisateur --- .../integration/mon-entreprise/simulateurs.js | 11 ++++---- .../source/components/Feedback/LinkToForm.tsx | 28 +++++++++++++++++++ .../source/components/Simulation.tsx | 22 +++++++++------ .../pages/Simulateurs/SalariéSimulation.tsx | 4 ++- 4 files changed, 51 insertions(+), 14 deletions(-) create mode 100644 mon-entreprise/source/components/Feedback/LinkToForm.tsx diff --git a/mon-entreprise/cypress/integration/mon-entreprise/simulateurs.js b/mon-entreprise/cypress/integration/mon-entreprise/simulateurs.js index 325e631f3..493311fc9 100644 --- a/mon-entreprise/cypress/integration/mon-entreprise/simulateurs.js +++ b/mon-entreprise/cypress/integration/mon-entreprise/simulateurs.js @@ -24,7 +24,7 @@ describe('Simulateurs', function() { it('should display a result when entering a value in any of the currency input', () => { cy.contains('€/an').click() - if (['indépendant', 'assimilé-salarié'].includes(simulateur)) { + if (['indépendant', 'dirigeant-sasu'].includes(simulateur)) { cy.get(chargeInputSelector).type(1000) } cy.get(inputSelector).each((testedInput, i) => { @@ -47,7 +47,7 @@ describe('Simulateurs', function() { cy.get(inputSelector) .first() .type('{selectall}12000') - if (['indépendant', 'assimilé-salarié'].includes(simulateur)) { + if (['indépendant', 'dirigeant-sasu'].includes(simulateur)) { cy.get(chargeInputSelector).type('{selectall}6000') } cy.wait(800) @@ -56,7 +56,7 @@ describe('Simulateurs', function() { .first() .invoke('val') .should('match', /1[\s]000/) - if (['indépendant', 'assimilé-salarié'].includes(simulateur)) { + if (['indépendant', 'dirigeant-sasu'].includes(simulateur)) { cy.get(chargeInputSelector) .first() .invoke('val') @@ -153,7 +153,8 @@ describe('Simulateur salarié', () => { }) it('should permit selecting the smic before part-time contrat', function() { - cy.get('input[name$="brut de base"').click() + cy.visit('/simulateurs/salarié') + cy.get('input[name$="brut de base"]').click() cy.get('button') .contains('SMIC') .click() @@ -162,7 +163,7 @@ describe('Simulateur salarié', () => { cy.get('input[value="oui"]') .parent() .click() - cy.get('input[name$="brut de base"').should($input => { + cy.get('input[name$="brut de base"]').should($input => { expect(+$input.val().replace(/[\s,.]/g, '')) .to.be.above(1300) .and.to.be.below(1500) diff --git a/mon-entreprise/source/components/Feedback/LinkToForm.tsx b/mon-entreprise/source/components/Feedback/LinkToForm.tsx new file mode 100644 index 000000000..d2f12bcb1 --- /dev/null +++ b/mon-entreprise/source/components/Feedback/LinkToForm.tsx @@ -0,0 +1,28 @@ +import React from 'react' + +// Envie de donner un coup de pouce ? Répondez à notre sondage sur le simulateur. +export default function LinkToForm() { + const hostname = new URL( + new URLSearchParams(document.location.search).get('integratorUrl') || + document.referrer || + document.location.origin + ).hostname.replace(/^www\.|^m\./, '') + console.log(hostname) + return ( +
+ + + Envie de donner un coup de pouce ?{' '} + + Répondez à notre sondage sur le simulateur. + + + +
+ ) +} diff --git a/mon-entreprise/source/components/Simulation.tsx b/mon-entreprise/source/components/Simulation.tsx index f5a0c7b9e..e17b1fecb 100644 --- a/mon-entreprise/source/components/Simulation.tsx +++ b/mon-entreprise/source/components/Simulation.tsx @@ -13,18 +13,21 @@ import React from 'react' import { Trans } from 'react-i18next' import { useSelector } from 'react-redux' import { firstStepCompletedSelector } from 'Selectors/simulationSelectors' +import LinkToForm from './Feedback/LinkToForm' type SimulationProps = { explanations?: React.ReactNode results?: React.ReactNode customEndMessages?: ConversationProps['customEndMessages'] showPeriodSwitch?: boolean + showLinkToForm?: boolean } export default function Simulation({ explanations, results, customEndMessages, + showLinkToForm, showPeriodSwitch }: SimulationProps) { const firstStepCompleted = useSelector(firstStepCompletedSelector) @@ -37,14 +40,17 @@ export default function Simulation({ {results}
- - Êtes-vous satisfait de ce simulateur ? - - } - customEventName="rate simulator" - />{' '} + {showLinkToForm && } + {!showLinkToForm && ( + + Êtes-vous satisfait de ce simulateur ? + + } + customEventName="rate simulator" + /> + )}{' '} {explanations} )} diff --git a/mon-entreprise/source/sites/mon-entreprise.fr/pages/Simulateurs/SalariéSimulation.tsx b/mon-entreprise/source/sites/mon-entreprise.fr/pages/Simulateurs/SalariéSimulation.tsx index 5a6ec5028..49c842d20 100644 --- a/mon-entreprise/source/sites/mon-entreprise.fr/pages/Simulateurs/SalariéSimulation.tsx +++ b/mon-entreprise/source/sites/mon-entreprise.fr/pages/Simulateurs/SalariéSimulation.tsx @@ -4,15 +4,17 @@ import Simulation from 'Components/Simulation' import SalaryExplanation from 'Components/simulationExplanation/SalaryExplanation' import { SitePathsContext } from 'Components/utils/SitePathsContext' import { default as React, useContext } from 'react' -import { Trans } from 'react-i18next' +import { Trans, useTranslation } from 'react-i18next' import { Link } from 'react-router-dom' export default function SalariéSimulation() { const sitePaths = useContext(SitePathsContext) + const { language } = useTranslation().i18n return ( <> } + showLinkToForm={language === 'fr'} customEndMessages={ <>