Ajoute des tests E2E pour le comparateur de statut

pull/2782/head
Johan Girod 2023-08-01 13:10:25 +02:00
parent e010f53bc6
commit 423dd72cb5
13 changed files with 81 additions and 24 deletions

View File

@ -213,7 +213,7 @@ entreprise . catégorie juridique . association:
par défaut:
non applicable si: activité . nature . libérale . réglementée
références:
Tout savoir l'association: https://www.service-public.fr/particuliers/vosdroits/N31931
Tout savoir sur l'association: https://www.service-public.fr/particuliers/vosdroits/N31931
'associations.gouv.fr : créer, gérer et développer son association': https://www.associations.gouv.fr/
entreprise . catégorie juridique . autre:

View File

@ -0,0 +1,56 @@
import { checkA11Y, fr } from '../../../support/utils'
describe(`Assistant choix du statut`, { testIsolation: false }, function () {
if (!fr) {
return
}
before(function () {
cy.visit(encodeURI('/'))
cy.clearAllLocalStorage()
})
it('should allow start assistant', function () {
cy.visit(encodeURI('/'))
cy.contains("J'aimerais créer mon entreprise").click()
checkA11Y()
cy.contains('Trouver le bon statut').click()
})
it('should allow to select activity', function () {
cy.get('input[type=search]').type('coiff')
cy.contains('Coiffure').click()
checkA11Y()
cy.contains('Enregistrer et continuer').click()
checkA11Y()
cy.contains('Continuer avec cette activité').click()
})
it('should allow to select commune', function () {
cy.get('input[aria-autocomplete="list"]').type('Saint-Remy-en-B')
cy.contains('Saint-Remy-en-Bouzemont-Saint-Genest-et-Isson').click()
cy.contains('Enregistrer et continuer').not('[disabled]').click()
})
it('should allow to specify if non profit', function () {
cy.contains("Dans le but de gagner de l'argent").click()
checkA11Y()
cy.contains('Enregistrer et continuer').click()
})
it('should allow to specify associates', function () {
cy.contains('Seul').click()
cy.contains('Oui').click()
checkA11Y()
cy.contains('Enregistrer et continuer').click()
})
it('should allow to input remuneration and select appropriate statut', function () {
cy.get('#CA').click().type('50000')
cy.get('#charges').click().type('10000')
checkA11Y()
cy.contains('Enregistrer et continuer').not('[disabled]').click()
cy.contains('Choisir ce statut').click()
cy.contains('Vous avez choisi le statut :')
})
})

View File

@ -1,6 +1,6 @@
import { checkA11Y, fr } from '../../support/utils'
import { checkA11Y, fr } from '../../../support/utils'
describe(`Formulaire demande mobilité`, function () {
describe(`Assistant charges sociales`, function () {
if (!fr) {
return
}

View File

@ -82,7 +82,7 @@ describe(`Navigation to income simulator using company name (${
.parentsUntil('li')
.find('button')
.click()
cy.contains('SAS(U)').click()
cy.contains('SAS(U)').siblings('a').click()
cy.location().should((loc) => {
expect(loc.pathname).to.match(/sasu$/)
})
@ -103,7 +103,7 @@ describe(`Navigation to income simulator using company name (${
.type('jeremy rialland')
.wait('@search')
cy.contains('493096580')
cy.contains('850556812')
.should('be.visible')
.parentsUntil('li')
.find('button')

View File

@ -17,7 +17,7 @@ export const runSimulateurTest = (simulateur) => {
})
it('should display a result when entering a value in any of the currency input', function () {
cy.contains(fr ? 'Montant annuel' : 'Yearly amount').click()
cy.contains(fr ? 'Montant annuel' : 'Annual amount').click()
if (['indépendant', 'profession-liberale'].includes(simulateur)) {
cy.get(chargeInputSelector).type(1000)
}
@ -40,7 +40,7 @@ export const runSimulateurTest = (simulateur) => {
})
it('should allow to change period', function () {
cy.contains(fr ? 'Montant annuel' : 'Yearly amount').click()
cy.contains(fr ? 'Montant annuel' : 'Annual amount').click()
cy.get(inputSelector).first().type('{selectall}12000')
if (['indépendant', 'profession-liberale'].includes(simulateur)) {
cy.get(chargeInputSelector).type('{selectall}6000')
@ -54,14 +54,14 @@ export const runSimulateurTest = (simulateur) => {
if (['indépendant', 'profession-liberale'].includes(simulateur)) {
cy.get(chargeInputSelector).first().invoke('val').should('match', /500/)
}
cy.contains(fr ? 'Montant annuel' : 'Yearly amount').click()
cy.contains(fr ? 'Montant annuel' : 'Annual amount').click()
})
it('should allow to navigate to a documentation page', function () {
cy.get(inputSelector).first().type('{selectall}2000')
cy.contains(fr ? 'Cotisations' : /(c|C)ontributions/).click()
cy.contains(fr ? 'Cotisations' : "Contributions").click()
cy.location().should((loc) => {
expect(loc.pathname).to.match(/\/documentation\/.*\/cotisations/)
expect(loc.pathname).to.match(/\/documentation\/.*\/cotisations.*/)
})
})

View File

@ -28,7 +28,6 @@ export function SimulateurCard({
beta,
small = false,
fromGérer = false,
as = undefined,
...props
}: SimulateurCardProps) {
const isIframe = useIsEmbedded()

View File

@ -97,7 +97,7 @@ En savoir plus sur impots:
"fr, nouvelle fenêtre": More information on impots.gouv.fr, new window
"En savoir plus, nouvelle fenêtre": Find out more, new window
English version of the website enabled.: English version of the website enabled.
Enregistrer et passer à la suite: Save and continue
Enregistrer et continuer: Save and continue
Enregistrer et voir le résultat: Save and view results
Entreprise Individuelle: Sole proprietorship
Entreprise créée le <2><0></0></2> et domiciliée à <6><0></0></6>: Company founded on <2><0></0></2> and domiciled at <6><0></0></6>
@ -289,7 +289,7 @@ Situation personnelle: Personal situation
Statistiques: Statistics
Statut du conjoint: Spouse's status
Suivant: Next
"Suivant, passer à l'étape suivante": Next, go to the next step
"Suivant, enregistrer et passer à l'étape suivante": Next, save and go to the next step
"Suivant, passer à la question suivante": Next, move on to the next question
"Suivant, voir le résultat": Next, see the result
Switch to the english version of the website: Switch to the english version of the website
@ -756,7 +756,7 @@ landing:
cash flow accordingly.</1>
subtitle: Simulators and wizards to help you develop your business, from legal
status to hiring.
title: The official assistant to contractors
title: Official tools for entrepreneurs
"le portail officiel, accéder à aides-entreprises":
"fr, nouvelle fenêtre": the official portal, access to aides-entreprises.fr, new window
"le site de l'Urssaf, accéder au site de l'Urssaf, nouvelle fenêtre": Urssaf website, access to Urssaf website, new window

View File

@ -97,7 +97,7 @@ En savoir plus sur impots:
"fr, nouvelle fenêtre": En savoir plus sur impots.gouv.fr, nouvelle fenêtre
"En savoir plus, nouvelle fenêtre": En savoir plus, nouvelle fenêtre
English version of the website enabled.: English version of the website enabled.
Enregistrer et passer à la suite: Enregistrer et passer à la suite
Enregistrer et continuer: Enregistrer et continuer
Enregistrer et voir le résultat: Enregistrer et voir le résultat
Entreprise Individuelle: Entreprise Individuelle
Entreprise créée le <2><0></0></2> et domiciliée à <6><0></0></6>: Entreprise créée le <2><0></0></2> et domiciliée à <6><0></0></6>
@ -299,7 +299,7 @@ Situation personnelle: Situation personnelle
Statistiques: Statistiques
Statut du conjoint: Statut du conjoint
Suivant: Suivant
"Suivant, passer à l'étape suivante": Suivant, passer à l'étape suivante
"Suivant, enregistrer et passer à l'étape suivante": Suivant, enregistrer et passer à l'étape suivante
"Suivant, passer à la question suivante": Suivant, passer à la question suivante
"Suivant, voir le résultat": Suivant, voir le résultat
Switch to the english version of the website: Switch to the english version of the website

View File

@ -62,11 +62,11 @@ export default function Navigation({
onPress={onNextStep}
to={choixDuStatutPath[nextStep]}
isDisabled={!currentStepIsComplete}
aria-label={t("Suivant, passer à l'étape suivante")}
aria-label={t(
"Suivant, enregistrer et passer à l'étape suivante"
)}
>
{nextStepLabel || (
<Trans>Enregistrer et passer à la suite</Trans>
)}{' '}
{nextStepLabel || <Trans>Enregistrer et continuer</Trans>}{' '}
<span aria-hidden></span>
</Button>
</Grid>

View File

@ -38,7 +38,7 @@ export default function StatutsPossibles() {
professionnelle que vous exercez
</SmallBody>
<StyledUl noMarker as={FlipMove}>
<StyledUl noMarker as={FlipMove} typeName="ul">
{statuts.map((statut) => (
<Statut key={statut} statut={statut} />
))}

View File

@ -91,7 +91,7 @@ export default function Associés() {
<FromTop>
<Spacing md />
<Message type="secondary" border={false}>
<H4 id="question2">
<H4 as="h3" id="question2">
<Trans i18nKey="choix-statut.associés.question2">
Envisagez-vous dajouter des associé(e)s dans un second temps
?
@ -119,7 +119,7 @@ export default function Associés() {
<FromTop>
<Spacing md />
<Message type="secondary" border={false}>
<H4 id="question3">
<H4 as="h3" id="question3">
<Trans i18nKey="choix-statut.associés.question3.label">
Préférez-vous exercer votre activité sous la forme d'une
société uniquement ?

View File

@ -115,7 +115,7 @@ export default function AccueilChoixStatut() {
: theme.colors.bases.primary[100]
}
>
<H3>
<H3 as="h2">
<Trans i18nKey="common.useful-resources">Ressources utiles</Trans>
</H3>

View File

@ -52,6 +52,7 @@ export default function Rémunération() {
"Montant du chiffre d'affaires HT"
)}
displayedUnit="€/an"
id="CA"
/>
<Trans i18nKey="choix-statut.rémunération.charges.title">
<H3 as="h2">
@ -83,6 +84,7 @@ export default function Rémunération() {
)}
displayedUnit="€/an"
onChange={(value) => setState({ charges: value })}
id="charges"
/>
<Navigation currentStepIsComplete={isComplete} onPreviousStep={reset} />