Skip to content

Commit

Permalink
fix: add structure size on questionnaire data if siret legal category…
Browse files Browse the repository at this point in the history
… is EI "1000" (#1218)

Ajout d'un check dans le store usedTrack sur le getQuestionnaireData
afin de traiter le cas d'une entreprise individuel avec un siret où le
legalCategory est 1000.

La question sur la `structure_size` est sauté dans ce cas là et donc la
data structure_size n'était plus transmis au back
  • Loading branch information
yvalentin authored Oct 25, 2024
1 parent 9a0c5fc commit 796c271
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 29 deletions.
3 changes: 3 additions & 0 deletions apps/web-e2e/playwright.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ export default defineConfig({

/* Run your local dev server before starting the tests */
webServer: {
env: {
TEST: 'true'
},
command: 'npm run dev:build:start',
url: 'http://localhost:4242',
reuseExistingServer: !process.env.CI
Expand Down
7 changes: 5 additions & 2 deletions apps/web-e2e/src/programResults.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { tests } from './programResultsData'
* Test the number of programs proposed as a result of a list of queries and their order.
*/
tests.forEach((singleTest) => {
test(`Verify programs number and order for query ${singleTest.url}`, async ({ page }) => {
test(`Test id ${singleTest.id} - Verify programs number and order for query ${singleTest.url}`, async ({ page }) => {
await page.goto(singleTest.url)
try {
await page.waitForSelector('.teste2e-program-target', { timeout: 3000 })
Expand All @@ -16,7 +16,10 @@ tests.forEach((singleTest) => {
}
const elementsLocal = await page.$$eval('.teste2e-program-target', (els) => els.map((el) => el.innerHTML.trim()))

expect(elementsLocal.length).toBe(singleTest.count)
// console.warn(singleTest.values)
// console.warn(elementsLocal)

expect(elementsLocal.length).toBe(singleTest.count ?? singleTest.values.length)
if (singleTest.count < 100) {
for (let i = 0; i < elementsLocal.length; i++) {
expect(elementsLocal[i]).toBe(singleTest.values[i])
Expand Down
14 changes: 3 additions & 11 deletions apps/web-e2e/src/programResultsData.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
export const tests = [
import { ResultsDataType } from './resultDataType'

export const tests: ResultsDataType = [
{
id: 0,
url: 'aides-entreprise',
Expand All @@ -8,7 +10,6 @@ export const tests = [
{
id: 1,
url: 'questionnaire/resultat?choix-du-parcours=je-ne-sais-pas-par-ou-commencer&siret=83014132100034&effectif=TPE&locaux=proprietaire&mobilite=oui&matieres-premieres=oui&tri-dechets=non&dechets=oui&gestion-eau=oui&energie=non&audit=non#questionnaire-resultat',
count: 28,
values: [
'Communauté du Coq Vert',
'Entreprises engagées pour la nature',
Expand Down Expand Up @@ -43,19 +44,16 @@ export const tests = [
{
id: 2,
url: 'questionnaire/resultat/projet/isolation-thermique?choix-du-parcours=j-ai-un-projet&siret=83014132100034&effectif=TPE&objectifs=building',
count: 4,
values: ['Diagnostic SARE', 'Prêt Économies d’Énergie (PEE)', "Crédit d'Impôt Rénovation Énergétique (CIRE)", 'Prêt Vert']
},
{
id: 3,
url: 'questionnaire/resultat/projet/sensibilisation-equipes?choix-du-parcours=je-ne-sais-pas-par-ou-commencer&siret=83014132100034&effectif=TPE&locaux=proprietaire&mobilite=oui&matieres-premieres=oui&tri-dechets=non&dechets=oui&gestion-eau=oui&energie=non&audit=non',
count: 1,
values: ['Formation ADEME']
},
{
id: 4,
url: 'questionnaire/resultat?choix-du-parcours=je-ne-sais-pas-par-ou-commencer&siret=78893947800020&locaux=locataire&mobilite=oui&matieres-premieres=oui&tri-dechets=oui&dechets=oui&gestion-eau=oui&energie=oui&audit=non#questionnaire-resultat',
count: 34,
values: [
'Baisse Les Watts',
'Communauté du Coq Vert',
Expand All @@ -66,17 +64,13 @@ export const tests = [
'TPE gagnantes sur tous les coûts',
'Diagnostic Transition Ecologique',
'Formations Transition Écologique et Énergétique',
'Visite Énergie CCI',
'Accélérateur décarbonation',
'Programme Volontaire Français ACT',
'Diag Ecoconception',
'Diagnostic RSE',
'Étude "Économie de la fonctionnalité"',
'Étude "Éco-conception"',
'Étude "réemploi réutilisation réparation"',
'Étude "Solaire thermique"',
'Mission de Conseil RSE',
'Mission Stratégie Environnement',
'Aides au réemploi des emballages',
'Bonus écologique',
'Coup de pouce Chauffage',
Expand All @@ -96,7 +90,6 @@ export const tests = [
{
id: 5,
url: 'questionnaire/resultat?choix-du-parcours=je-ne-sais-pas-par-ou-commencer&siret=82141193100016&effectif=ME&locaux=proprietaire&mobilite=oui&matieres-premieres=oui&tri-dechets=non&dechets=oui&gestion-eau=oui&energie=oui&audit=oui&selection-audit=consommation-energie&selection-audit=eau&selection-audit=performance-energetique&selection-audit=bilan-carbone&selection-audit=certification&selection-audit=matieres-premieres&selection-audit=dechets#questionnaire-resultat',
count: 36,
values: [
'Baisse Les Watts',
'Charte "zéro déchet plastique"',
Expand Down Expand Up @@ -139,7 +132,6 @@ export const tests = [
{
id: 6,
url: 'questionnaire/resultat?choix-du-parcours=je-ne-sais-pas-par-ou-commencer&siret=21490007800012&effectif=PE&locaux=proprietaire-et-locataire&mobilite=maximum&matieres-premieres=maximum&tri-dechets=oui&dechets=non&gestion-eau=non&energie=non&audit=non#questionnaire-resultat',
count: 10,
values: [
'Entreprises engagées pour la nature',
'Formation ADEME',
Expand Down
9 changes: 6 additions & 3 deletions apps/web-e2e/src/projectResults.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { test, expect } from '@playwright/test'
import { tests } from './projectResultsData'

tests.forEach((singleTest) => {
test(`Verify content and elements for query ${singleTest.url}`, async ({ page }) => {
test(`Test id ${singleTest.id} - Verify content and elements for query ${singleTest.url}`, async ({ page }) => {
await page.goto(singleTest.url)
try {
await page.waitForSelector('.teste2e-project-target', { timeout: 3000 })
Expand All @@ -13,9 +13,12 @@ tests.forEach((singleTest) => {
}
const elementsLocal = await page.$$eval('.teste2e-project-target h3 a', (els) => els.map((el) => el.innerHTML.trim()))

expect(elementsLocal.length).toBe(singleTest.count)
// console.warn(singleTest.values)
// console.warn(elementsLocal)

expect(elementsLocal.length).toBe(singleTest.count ?? singleTest.values.length)
for (let i = 0; i < elementsLocal.length; i++) {
expect(elementsLocal[i]).toBe(singleTest.value[i])
expect(elementsLocal[i]).toBe(singleTest.values[i])
}
})
})
Expand Down
21 changes: 8 additions & 13 deletions apps/web-e2e/src/projectResultsData.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
export const tests = [
import { ResultsDataType } from './resultDataType'

export const tests: ResultsDataType = [
{
id: 0,
url: 'projets-entreprise',
count: 47,
value: [
values: [
'Diagnostic à 360° sur la transition écologique',
'Sensibilisation des équipes',
'Plan d’action économies d’énergie',
Expand Down Expand Up @@ -56,8 +57,7 @@ export const tests = [
{
id: 1,
url: 'questionnaire/resultat?choix-du-parcours=je-ne-sais-pas-par-ou-commencer&siret=83014132100034&effectif=TPE&locaux=proprietaire&mobilite=oui&matieres-premieres=oui&tri-dechets=non&dechets=oui&gestion-eau=oui&energie=non&audit=non#questionnaire-resultat',
count: 50,
value: [
values: [
'Diagnostic à 360° sur la transition écologique',
'Sensibilisation des équipes',
'Plan d’action eau',
Expand Down Expand Up @@ -113,8 +113,7 @@ export const tests = [
{
id: 2,
url: 'questionnaire/resultat?choix-du-parcours=je-ne-sais-pas-par-ou-commencer&siret=78893947800020&locaux=locataire&mobilite=oui&matieres-premieres=oui&tri-dechets=oui&dechets=oui&gestion-eau=oui&energie=oui&audit=non#questionnaire-resultat',
count: 66,
value: [
values: [
'Diagnostic à 360° sur la transition écologique',
'Sensibilisation des équipes',
'Plan d’action économies d’énergie',
Expand All @@ -132,7 +131,6 @@ export const tests = [
'Recrutement',
'Tri des déchets',
"Acquisition d'un véhicule propre",
'Eclairage LED',
'Récupérateur d’eau de pluie',
'Plan d’adaptation au dérèglement climatique',
'Pompe à chaleur',
Expand Down Expand Up @@ -165,7 +163,6 @@ export const tests = [
'Recrutement',
'Tri des déchets',
"Acquisition d'un véhicule propre",
'Eclairage LED',
'Récupérateur d’eau de pluie',
'Plan d’adaptation au dérèglement climatique',
'Pompe à chaleur',
Expand All @@ -186,8 +183,7 @@ export const tests = [
{
id: 3,
url: 'questionnaire/resultat?choix-du-parcours=je-ne-sais-pas-par-ou-commencer&siret=82141193100016&effectif=ME&locaux=proprietaire&mobilite=oui&matieres-premieres=oui&tri-dechets=non&dechets=oui&gestion-eau=oui&energie=oui&audit=oui&selection-audit=consommation-energie&selection-audit=eau&selection-audit=performance-energetique&selection-audit=bilan-carbone&selection-audit=certification&selection-audit=matieres-premieres&selection-audit=dechets#questionnaire-resultat',
count: 80,
value: [
values: [
'Diagnostic à 360° sur la transition écologique',
'Sensibilisation des équipes',
'Plan d’action économies d’énergie',
Expand Down Expand Up @@ -273,8 +269,7 @@ export const tests = [
{
id: 4,
url: 'questionnaire/resultat?choix-du-parcours=je-ne-sais-pas-par-ou-commencer&siret=21490007800012&effectif=PE&locaux=proprietaire-et-locataire&mobilite=maximum&matieres-premieres=maximum&tri-dechets=oui&dechets=non&gestion-eau=non&energie=non&audit=non#questionnaire-resultat',
count: 14,
value: [
values: [
'Sensibilisation des équipes',
'Isolation thermique',
'Formation environnement',
Expand Down
8 changes: 8 additions & 0 deletions apps/web-e2e/src/resultDataType.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export type ResultDataType = {
id: number,
url: string,
count?: number,
values: string[]
}

export type ResultsDataType = ResultDataType[]
6 changes: 6 additions & 0 deletions apps/web/src/stores/usedTrack.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import { useNavigationStore } from '@/stores/navigation'
import { useTrackStore } from '@/stores/track'
import {
LegalCategory,
type NextTrackRuleSet,
type QuestionnaireData,
StructureSize,
type Track,
TrackComponent,
TrackId,
Expand Down Expand Up @@ -247,6 +249,10 @@ export const useUsedTrackStore = defineStore('usedTrack', () => {
Object.entries(questionnaireDatum).forEach(([key, value]) => {
questionnaireData[key] = value as unknown
})

if (usedTrack.id === TrackId.Siret && questionnaireDatum.legalCategory === LegalCategory.EI) {
questionnaireData.structure_size = StructureSize.EI
}
})
})

Expand Down

0 comments on commit 796c271

Please sign in to comment.