From d99f831e313e5c03e880d0f007d36791edafbcf7 Mon Sep 17 00:00:00 2001
From: Dorine Lambinet <dorine.lambinet@assemblee-nationale.fr>
Date: Wed, 26 Feb 2025 16:13:12 +0100
Subject: [PATCH] =?UTF-8?q?Cr=C3=A9e=20dossier=20test=5Fcase=5Fselected?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 README.md                                     |  2 +-
 .../VariableValueChange.svelte                |  0
 .../TestCaseScreenshotLayout.svelte           |  4 +-
 .../TestCaseSimulationSharingModal.svelte     |  0
 .../OilSpendingBill.svelte                    |  0
 .../test_case_selected/PaySlipView.svelte}    |  6 +--
 .../test_case_selected}/TestCasePictos.svelte |  0
 .../TestCaseSummary.svelte                    |  2 +-
 .../test_case_selected}/TestCaseView.svelte   |  6 +--
 .../compare_mode/PaySlipCompareView.svelte}   |  0
 .../compare_mode}/TestCaseCompareModal.svelte |  0
 .../compare_mode}/TestCaseCompareView.svelte  |  8 ++--
 .../compare_mode}/ValueChangeCompare.svelte   |  0
 .../edition_mode}/Autocomplete.svelte         |  0
 .../edition_mode}/RolePersonsEdit.svelte      |  0
 .../edition_mode}/TestCaseEdit.svelte         |  8 ++--
 .../TestCaseEditVariablesSearch.svelte        |  2 +-
 .../edition_mode}/VariableInput.svelte        |  2 +-
 .../VariableReferredInputs.svelte             |  2 +-
 .../VariableReferredInputsPane.svelte         |  2 +-
 .../graph}/TestCaseGraph.svelte               |  2 +-
 .../graph}/TestCaseGraphXlsxExport.svelte     |  0
 .../VariableReferredParameters.svelte         |  2 +-
 .../variables/VariableHeader.svelte           |  2 +-
 .../variables/details_modal}/ReadMore.svelte  |  0
 .../details_modal}/VariableDetail.svelte      |  6 +--
 .../VariableDetailBudget.svelte               |  0
 .../FormulaView.svelte                        |  2 +-
 .../VariableView.svelte                       |  4 +-
 .../test_cases/TestCaseFilters.svelte         |  4 +-
 .../components/test_cases/TestCaseTab.svelte  | 38 -------------------
 src/routes/+page.svelte                       | 18 ++++-----
 src/routes/accueil/+page.svelte               |  2 +-
 src/routes/variables/[variable]/+page.svelte  |  2 +-
 .../[variable]/inputs/[date]/+page.svelte     |  2 +-
 35 files changed, 45 insertions(+), 83 deletions(-)
 rename src/lib/components/{variables => impacts_view}/VariableValueChange.svelte (100%)
 rename src/lib/components/{test_cases => impacts_view/test_cases_view}/TestCaseScreenshotLayout.svelte (95%)
 rename src/lib/components/{ => impacts_view/test_cases_view}/TestCaseSimulationSharingModal.svelte (100%)
 rename src/lib/components/{test_cases => impacts_view/test_cases_view/test_case_selected}/OilSpendingBill.svelte (100%)
 rename src/lib/components/{WaterfallView.svelte => impacts_view/test_cases_view/test_case_selected/PaySlipView.svelte} (99%)
 rename src/lib/components/{test_cases => impacts_view/test_cases_view/test_case_selected}/TestCasePictos.svelte (100%)
 rename src/lib/components/{test_cases => impacts_view/test_cases_view/test_case_selected}/TestCaseSummary.svelte (99%)
 rename src/lib/components/{test_cases => impacts_view/test_cases_view/test_case_selected}/TestCaseView.svelte (94%)
 rename src/lib/components/{WaterfallCompareView.svelte => impacts_view/test_cases_view/test_case_selected/compare_mode/PaySlipCompareView.svelte} (100%)
 rename src/lib/components/{test_cases => impacts_view/test_cases_view/test_case_selected/compare_mode}/TestCaseCompareModal.svelte (100%)
 rename src/lib/components/{test_cases => impacts_view/test_cases_view/test_case_selected/compare_mode}/TestCaseCompareView.svelte (97%)
 rename src/lib/components/{ => impacts_view/test_cases_view/test_case_selected/compare_mode}/ValueChangeCompare.svelte (100%)
 rename src/lib/components/{ => impacts_view/test_cases_view/test_case_selected/edition_mode}/Autocomplete.svelte (100%)
 rename src/lib/components/{test_cases => impacts_view/test_cases_view/test_case_selected/edition_mode}/RolePersonsEdit.svelte (100%)
 rename src/lib/components/{test_cases => impacts_view/test_cases_view/test_case_selected/edition_mode}/TestCaseEdit.svelte (98%)
 rename src/lib/components/{test_cases => impacts_view/test_cases_view/test_case_selected/edition_mode}/TestCaseEditVariablesSearch.svelte (97%)
 rename src/lib/components/{variables => impacts_view/test_cases_view/test_case_selected/edition_mode}/VariableInput.svelte (99%)
 rename src/lib/components/{variables => impacts_view/test_cases_view/test_case_selected/edition_mode}/VariableReferredInputs.svelte (98%)
 rename src/lib/components/{variables => impacts_view/test_cases_view/test_case_selected/edition_mode}/VariableReferredInputsPane.svelte (94%)
 rename src/lib/components/{test_cases => impacts_view/test_cases_view/test_case_selected/graph}/TestCaseGraph.svelte (99%)
 rename src/lib/components/{test_cases => impacts_view/test_cases_view/test_case_selected/graph}/TestCaseGraphXlsxExport.svelte (100%)
 rename src/lib/components/{ => legislation_view}/variables/VariableHeader.svelte (98%)
 rename src/lib/components/{ => legislation_view/variables/details_modal}/ReadMore.svelte (100%)
 rename src/lib/components/{variables => legislation_view/variables/details_modal}/VariableDetail.svelte (98%)
 rename src/lib/components/{variables => legislation_view/variables/details_modal}/VariableDetailBudget.svelte (100%)
 rename src/lib/components/{variables => legislation_view/variables/technical_details_view}/FormulaView.svelte (97%)
 rename src/lib/components/{variables => legislation_view/variables/technical_details_view}/VariableView.svelte (97%)
 delete mode 100644 src/lib/components/test_cases/TestCaseTab.svelte

diff --git a/README.md b/README.md
index 225ae7d74..eb6255804 100644
--- a/README.md
+++ b/README.md
@@ -122,7 +122,7 @@ export const otherCalculatedVariablesName = [
 ]
 ```
 
-2. Dans le fichier souhaité, Appeler la variable dans la bonne catégorie (Ménage, foyer fiscal, individu, etc), comme fait dans cet exemple avec la variable `niveau_de_vie` dans le fichier `WaterfallView.svelte` :
+2. Dans le fichier souhaité, Appeler la variable dans la bonne catégorie (Ménage, foyer fiscal, individu, etc), comme fait dans cet exemple avec la variable `niveau_de_vie` dans le fichier `PaySlipView.svelte` :
 
 ```js
 {@const niveau_de_vie =
diff --git a/src/lib/components/variables/VariableValueChange.svelte b/src/lib/components/impacts_view/VariableValueChange.svelte
similarity index 100%
rename from src/lib/components/variables/VariableValueChange.svelte
rename to src/lib/components/impacts_view/VariableValueChange.svelte
diff --git a/src/lib/components/test_cases/TestCaseScreenshotLayout.svelte b/src/lib/components/impacts_view/test_cases_view/TestCaseScreenshotLayout.svelte
similarity index 95%
rename from src/lib/components/test_cases/TestCaseScreenshotLayout.svelte
rename to src/lib/components/impacts_view/test_cases_view/TestCaseScreenshotLayout.svelte
index 51dad7546..fd7ef8eac 100644
--- a/src/lib/components/test_cases/TestCaseScreenshotLayout.svelte
+++ b/src/lib/components/impacts_view/test_cases_view/TestCaseScreenshotLayout.svelte
@@ -1,6 +1,6 @@
 <script lang="ts">
-  import TestCaseSummary from "$lib/components/test_cases/TestCaseSummary.svelte"
-  import VariableValueChange from "$lib/components/variables/VariableValueChange.svelte"
+  import TestCaseSummary from "$lib/components/impacts_view/test_cases_view/test_case_selected/TestCaseSummary.svelte"
+  import VariableValueChange from "$lib/components/impacts_view/VariableValueChange.svelte"
   import type { EvaluationByName } from "$lib/decompositions"
   import type { DisplayMode } from "$lib/displays"
   import { shared } from "$lib/shared.svelte"
diff --git a/src/lib/components/TestCaseSimulationSharingModal.svelte b/src/lib/components/impacts_view/test_cases_view/TestCaseSimulationSharingModal.svelte
similarity index 100%
rename from src/lib/components/TestCaseSimulationSharingModal.svelte
rename to src/lib/components/impacts_view/test_cases_view/TestCaseSimulationSharingModal.svelte
diff --git a/src/lib/components/test_cases/OilSpendingBill.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/OilSpendingBill.svelte
similarity index 100%
rename from src/lib/components/test_cases/OilSpendingBill.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/OilSpendingBill.svelte
diff --git a/src/lib/components/WaterfallView.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/PaySlipView.svelte
similarity index 99%
rename from src/lib/components/WaterfallView.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/PaySlipView.svelte
index 0db254d53..19e9330bb 100644
--- a/src/lib/components/WaterfallView.svelte
+++ b/src/lib/components/impacts_view/test_cases_view/test_case_selected/PaySlipView.svelte
@@ -2,11 +2,11 @@
   import type { VariableByName } from "@openfisca/json-model"
 
   import { goto } from "$app/navigation"
-  import OilSpendingBill from "$lib/components/test_cases/OilSpendingBill.svelte"
-  import TestCaseGraph from "$lib/components/test_cases/TestCaseGraph.svelte"
+  import OilSpendingBill from "$lib/components/impacts_view/test_cases_view/test_case_selected/OilSpendingBill.svelte"
+  import TestCaseGraph from "$lib/components/impacts_view/test_cases_view/test_case_selected/graph/TestCaseGraph.svelte"
   import Tooltip from "$lib/components/ui_transverse_components/Tooltip.svelte"
   import ValueChange from "$lib/components/ValueChange.svelte"
-  import VariableValueChange from "$lib/components/variables/VariableValueChange.svelte"
+  import VariableValueChange from "$lib/components/impacts_view/VariableValueChange.svelte"
   import {
     isNullVariableValueByCalculationName,
     variableValueByCalculationNameFromEvaluation,
diff --git a/src/lib/components/test_cases/TestCasePictos.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/TestCasePictos.svelte
similarity index 100%
rename from src/lib/components/test_cases/TestCasePictos.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/TestCasePictos.svelte
diff --git a/src/lib/components/test_cases/TestCaseSummary.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/TestCaseSummary.svelte
similarity index 99%
rename from src/lib/components/test_cases/TestCaseSummary.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/TestCaseSummary.svelte
index b87bfbd2e..a245c9b97 100644
--- a/src/lib/components/test_cases/TestCaseSummary.svelte
+++ b/src/lib/components/impacts_view/test_cases_view/test_case_selected/TestCaseSummary.svelte
@@ -21,7 +21,7 @@
   import PictoHandicap from "$lib/components/ui_transverse_components/pictos/PictoHandicap.svelte"
   import PictoMaison from "$lib/components/ui_transverse_components/pictos/PictoMaison.svelte"
   import PictoRevenusCapital from "$lib/components/ui_transverse_components/pictos/PictoRevenusCapital.svelte"
-  import TestCaseCompareModal from "$lib/components/test_cases/TestCaseCompareModal.svelte"
+  import TestCaseCompareModal from "$lib/components/impacts_view/test_cases_view/test_case_selected/compare_mode/TestCaseCompareModal.svelte"
   import type { DisplayMode } from "$lib/displays"
   import { entityByKey, personEntityKey } from "$lib/entities"
   import { getParameter, rootParameter } from "$lib/parameters"
diff --git a/src/lib/components/test_cases/TestCaseView.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/TestCaseView.svelte
similarity index 94%
rename from src/lib/components/test_cases/TestCaseView.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/TestCaseView.svelte
index dfbe17f9b..f15d3dfd6 100644
--- a/src/lib/components/test_cases/TestCaseView.svelte
+++ b/src/lib/components/impacts_view/test_cases_view/test_case_selected/TestCaseView.svelte
@@ -1,8 +1,8 @@
 <script lang="ts">
   import SourcesMethodTooltip from "$lib/components/SourcesMethodTooltip.svelte"
 
-  import TestCaseSummary from "$lib/components/test_cases/TestCaseSummary.svelte"
-  import WaterfallView from "$lib/components/WaterfallView.svelte"
+  import TestCaseSummary from "$lib/components/impacts_view/test_cases_view/test_case_selected/TestCaseSummary.svelte"
+  import PaySlipView from "$lib/components/impacts_view/test_cases_view/test_case_selected/PaySlipView.svelte"
   import { waterfalls } from "$lib/decompositions"
   import type { DisplayMode } from "$lib/displays"
   import type { Situation } from "$lib/situations"
@@ -77,7 +77,7 @@
         class="relative w-10/12 bg-white py-4 md:w-11/12"
         id="situation_{situationIndex}_waterfall"
       >
-        <WaterfallView
+        <PaySlipView
           {displayMode}
           {evaluationByName}
           {highlightDecomposition}
diff --git a/src/lib/components/WaterfallCompareView.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/compare_mode/PaySlipCompareView.svelte
similarity index 100%
rename from src/lib/components/WaterfallCompareView.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/compare_mode/PaySlipCompareView.svelte
diff --git a/src/lib/components/test_cases/TestCaseCompareModal.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/compare_mode/TestCaseCompareModal.svelte
similarity index 100%
rename from src/lib/components/test_cases/TestCaseCompareModal.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/compare_mode/TestCaseCompareModal.svelte
diff --git a/src/lib/components/test_cases/TestCaseCompareView.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/compare_mode/TestCaseCompareView.svelte
similarity index 97%
rename from src/lib/components/test_cases/TestCaseCompareView.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/compare_mode/TestCaseCompareView.svelte
index daa5b5186..2f884fbaf 100644
--- a/src/lib/components/test_cases/TestCaseCompareView.svelte
+++ b/src/lib/components/impacts_view/test_cases_view/test_case_selected/compare_mode/TestCaseCompareView.svelte
@@ -3,9 +3,9 @@
   import { createEventDispatcher } from "svelte"
 
   import type { CalculationName } from "$lib/calculations.svelte"
-  import TestCaseSummary from "$lib/components/test_cases/TestCaseSummary.svelte"
-  import ValueChangeCompare from "$lib/components/ValueChangeCompare.svelte"
-  import WaterfallCompareView from "$lib/components/WaterfallCompareView.svelte"
+  import TestCaseSummary from "$lib/components/impacts_view/test_cases_view/test_case_selected/TestCaseSummary.svelte"
+  import ValueChangeCompare from "$lib/components/impacts_view/test_cases_view/test_case_selected/compare_mode/ValueChangeCompare.svelte"
+  import PaySlipCompareView from "$lib/components/impacts_view/test_cases_view/test_case_selected/compare_mode/PaySlipCompareView.svelte"
   import { type EvaluationByName, waterfalls } from "$lib/decompositions"
   import type { DisplayMode } from "$lib/displays"
   import { billName, revaluationName, shared } from "$lib/shared.svelte"
@@ -311,7 +311,7 @@
               </div>
             {/if}
           </div>
-          <WaterfallCompareView
+          <PaySlipCompareView
             {displayMode}
             evaluationByNameArray={shared.evaluationByNameArray}
             situations={shared.testCases}
diff --git a/src/lib/components/ValueChangeCompare.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/compare_mode/ValueChangeCompare.svelte
similarity index 100%
rename from src/lib/components/ValueChangeCompare.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/compare_mode/ValueChangeCompare.svelte
diff --git a/src/lib/components/Autocomplete.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/Autocomplete.svelte
similarity index 100%
rename from src/lib/components/Autocomplete.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/Autocomplete.svelte
diff --git a/src/lib/components/test_cases/RolePersonsEdit.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/RolePersonsEdit.svelte
similarity index 100%
rename from src/lib/components/test_cases/RolePersonsEdit.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/RolePersonsEdit.svelte
diff --git a/src/lib/components/test_cases/TestCaseEdit.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/TestCaseEdit.svelte
similarity index 98%
rename from src/lib/components/test_cases/TestCaseEdit.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/TestCaseEdit.svelte
index 37729cf75..b9490c068 100644
--- a/src/lib/components/test_cases/TestCaseEdit.svelte
+++ b/src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/TestCaseEdit.svelte
@@ -16,12 +16,12 @@
   import { requestAllTestCasesCalculations } from "$lib/calculations.svelte"
   import PictoBigEnfant from "$lib/components/ui_transverse_components/pictos/PictoBigEnfant.svelte"
   import PictoBigParent from "$lib/components/ui_transverse_components/pictos/PictoBigParent.svelte"
-  import RolePersonsEdit from "$lib/components/test_cases/RolePersonsEdit.svelte"
-  import TestCaseEditVariablesSearch from "$lib/components/test_cases/TestCaseEditVariablesSearch.svelte"
+  import RolePersonsEdit from "$lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/RolePersonsEdit.svelte"
+  import TestCaseEditVariablesSearch from "$lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/TestCaseEditVariablesSearch.svelte"
   import Toggletip from "$lib/components/ui_transverse_components/Toggletip.svelte"
   import Tooltip from "$lib/components/ui_transverse_components/Tooltip.svelte"
-  import VariableInput from "$lib/components/variables/VariableInput.svelte"
-  import VariableReferredInputsPane from "$lib/components/variables/VariableReferredInputsPane.svelte"
+  import VariableInput from "$lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableInput.svelte"
+  import VariableReferredInputsPane from "$lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableReferredInputsPane.svelte"
   import { decompositionCoreByName } from "$lib/decompositions"
   import { entityByKey, personEntityKey } from "$lib/entities"
   import publicConfig from "$lib/public_config"
diff --git a/src/lib/components/test_cases/TestCaseEditVariablesSearch.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/TestCaseEditVariablesSearch.svelte
similarity index 97%
rename from src/lib/components/test_cases/TestCaseEditVariablesSearch.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/TestCaseEditVariablesSearch.svelte
index a58a002a9..aec6d1c60 100644
--- a/src/lib/components/test_cases/TestCaseEditVariablesSearch.svelte
+++ b/src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/TestCaseEditVariablesSearch.svelte
@@ -1,7 +1,7 @@
 <script lang="ts">
   import type { Variable } from "@openfisca/json-model"
 
-  import VariableInput from "$lib/components/variables/VariableInput.svelte"
+  import VariableInput from "$lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableInput.svelte"
   import { parseSearch } from "$lib/search/regexp_search"
   import { billName } from "$lib/shared.svelte"
   import type { Situation } from "$lib/situations"
diff --git a/src/lib/components/variables/VariableInput.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableInput.svelte
similarity index 99%
rename from src/lib/components/variables/VariableInput.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableInput.svelte
index aa9b7c83a..05473e16d 100644
--- a/src/lib/components/variables/VariableInput.svelte
+++ b/src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableInput.svelte
@@ -4,7 +4,7 @@
   import { getVariableLatestFormulaDate } from "@openfisca/json-model"
 
   import { requestAllTestCasesCalculations } from "$lib/calculations.svelte"
-  import Autocomplete from "$lib/components/Autocomplete.svelte"
+  import Autocomplete from "$lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/Autocomplete.svelte"
   import Tooltip from "$lib/components/ui_transverse_components/Tooltip.svelte"
   import ValueChange from "$lib/components/ValueChange.svelte"
   import { entityByKey } from "$lib/entities"
diff --git a/src/lib/components/variables/VariableReferredInputs.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableReferredInputs.svelte
similarity index 98%
rename from src/lib/components/variables/VariableReferredInputs.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableReferredInputs.svelte
index 17e9855c6..0bce3efc5 100644
--- a/src/lib/components/variables/VariableReferredInputs.svelte
+++ b/src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableReferredInputs.svelte
@@ -4,7 +4,7 @@
   import type { Variable } from "@openfisca/json-model"
   import { getVariableFormula } from "@openfisca/json-model"
 
-  import VariableInput from "$lib/components/variables/VariableInput.svelte"
+  import VariableInput from "$lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableInput.svelte"
   import { parseSearch } from "$lib/search/regexp_search"
   import type { Situation } from "$lib/situations"
   import type { ValuesByCalculationNameByVariableName } from "$lib/variables"
diff --git a/src/lib/components/variables/VariableReferredInputsPane.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableReferredInputsPane.svelte
similarity index 94%
rename from src/lib/components/variables/VariableReferredInputsPane.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableReferredInputsPane.svelte
index 050db874a..5da51f731 100644
--- a/src/lib/components/variables/VariableReferredInputsPane.svelte
+++ b/src/lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableReferredInputsPane.svelte
@@ -2,7 +2,7 @@
   import type { Variable } from "@openfisca/json-model"
   import { createEventDispatcher } from "svelte"
 
-  import VariableReferredInputs from "./VariableReferredInputs.svelte"
+  import VariableReferredInputs from "$lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableReferredInputs.svelte"
 
   import {
     decompositionCoreByName,
diff --git a/src/lib/components/test_cases/TestCaseGraph.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/graph/TestCaseGraph.svelte
similarity index 99%
rename from src/lib/components/test_cases/TestCaseGraph.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/graph/TestCaseGraph.svelte
index 325c8c5dc..477bd275f 100644
--- a/src/lib/components/test_cases/TestCaseGraph.svelte
+++ b/src/lib/components/impacts_view/test_cases_view/test_case_selected/graph/TestCaseGraph.svelte
@@ -31,7 +31,7 @@
   import SharedTooltip from "$lib/components/ui_transverse_components/piece_of_cake/SharedTooltip.svelte"
   import Svg from "$lib/components/ui_transverse_components/piece_of_cake/Svg.svelte"
   import type { GraphDomain } from "$lib/components/ui_transverse_components/piece_of_cake/types"
-  import TestCaseGraphXlsxExport from "$lib/components/test_cases/TestCaseGraphXlsxExport.svelte"
+  import TestCaseGraphXlsxExport from "$lib/components/impacts_view/test_cases_view/test_case_selected/graph/TestCaseGraphXlsxExport.svelte"
   import Tooltip from "$lib/components/ui_transverse_components/Tooltip.svelte"
   import ValueChange from "$lib/components/ValueChange.svelte"
   import {
diff --git a/src/lib/components/test_cases/TestCaseGraphXlsxExport.svelte b/src/lib/components/impacts_view/test_cases_view/test_case_selected/graph/TestCaseGraphXlsxExport.svelte
similarity index 100%
rename from src/lib/components/test_cases/TestCaseGraphXlsxExport.svelte
rename to src/lib/components/impacts_view/test_cases_view/test_case_selected/graph/TestCaseGraphXlsxExport.svelte
diff --git a/src/lib/components/legislation_view/parameters/VariableReferredParameters.svelte b/src/lib/components/legislation_view/parameters/VariableReferredParameters.svelte
index a265d0cc1..b285f8888 100644
--- a/src/lib/components/legislation_view/parameters/VariableReferredParameters.svelte
+++ b/src/lib/components/legislation_view/parameters/VariableReferredParameters.svelte
@@ -11,7 +11,7 @@
     type ValueParameter,
   } from "@openfisca/json-model"
 
-  import VariableHeader from "../../variables/VariableHeader.svelte"
+  import VariableHeader from "$lib/components/legislation_view/variables/VariableHeader.svelte"
   import VariableReferredNodeParameter from "$lib/components/legislation_view/parameters/VariableReferredNodeParameter.svelte"
   import VariableReferredScaleParameter from "$lib/components/legislation_view/parameters/VariableReferredScaleParameter.svelte"
   import VariableReferredValueParameter from "$lib/components/legislation_view/parameters/VariableReferredValueParameter.svelte"
diff --git a/src/lib/components/variables/VariableHeader.svelte b/src/lib/components/legislation_view/variables/VariableHeader.svelte
similarity index 98%
rename from src/lib/components/variables/VariableHeader.svelte
rename to src/lib/components/legislation_view/variables/VariableHeader.svelte
index 260b520d1..fa02b9b28 100644
--- a/src/lib/components/variables/VariableHeader.svelte
+++ b/src/lib/components/legislation_view/variables/VariableHeader.svelte
@@ -2,7 +2,7 @@
   import type { Variable } from "@openfisca/json-model"
   import { getVariableLatestFormulaDate } from "@openfisca/json-model"
 
-  import ReadMore from "$lib/components/ReadMore.svelte"
+  import ReadMore from "$lib/components/legislation_view/variables/details_modal/ReadMore.svelte"
   import Tooltip from "$lib/components/ui_transverse_components/Tooltip.svelte"
   import type { Decomposition } from "$lib/decompositions"
   import type { DisplayMode } from "$lib/displays"
diff --git a/src/lib/components/ReadMore.svelte b/src/lib/components/legislation_view/variables/details_modal/ReadMore.svelte
similarity index 100%
rename from src/lib/components/ReadMore.svelte
rename to src/lib/components/legislation_view/variables/details_modal/ReadMore.svelte
diff --git a/src/lib/components/variables/VariableDetail.svelte b/src/lib/components/legislation_view/variables/details_modal/VariableDetail.svelte
similarity index 98%
rename from src/lib/components/variables/VariableDetail.svelte
rename to src/lib/components/legislation_view/variables/details_modal/VariableDetail.svelte
index b61f10a94..eddcb3d97 100644
--- a/src/lib/components/variables/VariableDetail.svelte
+++ b/src/lib/components/legislation_view/variables/details_modal/VariableDetail.svelte
@@ -12,9 +12,9 @@
   import AccordionItem from "$lib/components/ui_transverse_components/accordion/AccordionItem.svelte"
   import PictoBudgetEtat from "$lib/components/ui_transverse_components/pictos/PictoBudgetEtat.svelte"
   import TestCaseFilters from "$lib/components/test_cases/TestCaseFilters.svelte"
-  import TestCasePictos from "$lib/components/test_cases/TestCasePictos.svelte"
-  import VariableDetailBudget from "$lib/components/variables/VariableDetailBudget.svelte"
-  import VariableValueChange from "$lib/components/variables/VariableValueChange.svelte"
+  import TestCasePictos from "$lib/components/impacts_view/test_cases_view/test_case_selected/TestCasePictos.svelte"
+  import VariableDetailBudget from "$lib/components/legislation_view/variables/details_modal/VariableDetailBudget.svelte"
+  import VariableValueChange from "$lib/components/impacts_view/VariableValueChange.svelte"
   import WithoutBudgetCard from "$lib/components/budget/WithoutBudgetCard.svelte"
   import {
     decompositionCoreByName,
diff --git a/src/lib/components/variables/VariableDetailBudget.svelte b/src/lib/components/legislation_view/variables/details_modal/VariableDetailBudget.svelte
similarity index 100%
rename from src/lib/components/variables/VariableDetailBudget.svelte
rename to src/lib/components/legislation_view/variables/details_modal/VariableDetailBudget.svelte
diff --git a/src/lib/components/variables/FormulaView.svelte b/src/lib/components/legislation_view/variables/technical_details_view/FormulaView.svelte
similarity index 97%
rename from src/lib/components/variables/FormulaView.svelte
rename to src/lib/components/legislation_view/variables/technical_details_view/FormulaView.svelte
index 61a2b690f..f9c8ebab8 100644
--- a/src/lib/components/variables/FormulaView.svelte
+++ b/src/lib/components/legislation_view/variables/technical_details_view/FormulaView.svelte
@@ -7,7 +7,7 @@
   import type { Writable } from "svelte/store"
 
   import { page } from "$app/stores"
-  import VariableInput from "$lib/components/variables/VariableInput.svelte"
+  import VariableInput from "$lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableInput.svelte"
   import { entityByKey } from "$lib/entities"
   import { leafParametersName } from "$lib/parameters"
   import publicConfig from "$lib/public_config"
diff --git a/src/lib/components/variables/VariableView.svelte b/src/lib/components/legislation_view/variables/technical_details_view/VariableView.svelte
similarity index 97%
rename from src/lib/components/variables/VariableView.svelte
rename to src/lib/components/legislation_view/variables/technical_details_view/VariableView.svelte
index ff3810093..fb3c302d0 100644
--- a/src/lib/components/variables/VariableView.svelte
+++ b/src/lib/components/legislation_view/variables/technical_details_view/VariableView.svelte
@@ -2,8 +2,8 @@
   import type { Variable } from "@openfisca/json-model"
   import { getContext } from "svelte"
 
-  import FormulaView from "$lib/components/variables/FormulaView.svelte"
-  import VariableInput from "$lib/components/variables/VariableInput.svelte"
+  import FormulaView from "$lib/components/legislation_view/variables/technical_details_view/FormulaView.svelte"
+  import VariableInput from "$lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableInput.svelte"
   import { decompositionCoreByName } from "$lib/decompositions"
   import publicConfig from "$lib/public_config"
   import { date, year } from "$lib/shared.svelte"
diff --git a/src/lib/components/test_cases/TestCaseFilters.svelte b/src/lib/components/test_cases/TestCaseFilters.svelte
index 2b6b52633..2570399bd 100644
--- a/src/lib/components/test_cases/TestCaseFilters.svelte
+++ b/src/lib/components/test_cases/TestCaseFilters.svelte
@@ -7,9 +7,9 @@
 
   import { page } from "$app/stores"
   import SelectChip from "$lib/components/ui_transverse_components/SelectChip.svelte"
-  import TestCaseSummary from "$lib/components/test_cases/TestCaseSummary.svelte"
+  import TestCaseSummary from "$lib/components/impacts_view/test_cases_view/test_case_selected/TestCaseSummary.svelte"
   import Tooltip from "$lib/components/ui_transverse_components/Tooltip.svelte"
-  import VariableValueChange from "$lib/components/variables/VariableValueChange.svelte"
+  import VariableValueChange from "$lib/components/impacts_view/VariableValueChange.svelte"
   import {
     decompositionCoreByName,
     decompositionCoreByNameByReformName,
diff --git a/src/lib/components/test_cases/TestCaseTab.svelte b/src/lib/components/test_cases/TestCaseTab.svelte
deleted file mode 100644
index 96bede823..000000000
--- a/src/lib/components/test_cases/TestCaseTab.svelte
+++ /dev/null
@@ -1,38 +0,0 @@
-<script lang="ts">
-  import { onMount } from "svelte"
-
-  interface Props {
-    href: string
-    icon: string | undefined
-    picto: string | undefined
-    text: string
-    isActive: boolean
-    isDisabled: boolean
-  }
-
-  let { href, icon, picto, text, isActive, isDisabled }: Props = $props()
-
-  let pictoComponent = $state()
-
-  onMount(async () => {
-    if (picto !== undefined)
-      pictoComponent = (await import(`$lib/components/pictos/${picto}.svelte`))
-        .default
-  })
-</script>
-
-<a
-  class="flex items-center gap-2 border-r-2 px-4 py-4 text-sm uppercase text-gray-600 md:px-8 2xl:text-base"
-  class:bg-white={isActive && !isDisabled}
-  class:shadow-md={isActive && !isDisabled}
-  class:!text-gray-400={isDisabled}
-  class:cursor-not-allowed={isDisabled}
-  href={!isDisabled ? href : undefined}
->
-  {#if pictoComponent !== undefined}
-    <pictoComponent classNames="w-5 2xl:w-6"></pictoComponent>
-  {:else}
-    <iconify-icon {icon} class="text-xl 2xl:text-2xl"></iconify-icon>
-  {/if}
-  {text}
-</a>
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 3e609ea71..bb2694b77 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -36,18 +36,18 @@
   import PlfVariablesListIntro from "$lib/components/welcome_views/PlfVariablesListIntro.svelte"
   import SkeletonLoaderBudget from "$lib/components/budget/SkeletonLoaderBudget.svelte"
   import StaticAggregates from "$lib/components/budget/StaticAggregates.svelte"
-  import TestCaseCompareView from "$lib/components/test_cases/TestCaseCompareView.svelte"
-  import TestCaseEdit from "$lib/components/test_cases/TestCaseEdit.svelte"
-  import TestCasePictos from "$lib/components/test_cases/TestCasePictos.svelte"
-  import TestCaseScreenshotLayout from "$lib/components/test_cases/TestCaseScreenshotLayout.svelte"
+  import TestCaseCompareView from "$lib/components/impacts_view/test_cases_view/test_case_selected/compare_mode/TestCaseCompareView.svelte"
+  import TestCaseEdit from "$lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/TestCaseEdit.svelte"
+  import TestCasePictos from "$lib/components/impacts_view/test_cases_view/test_case_selected/TestCasePictos.svelte"
+  import TestCaseScreenshotLayout from "$lib/components/impacts_view/test_cases_view/TestCaseScreenshotLayout.svelte"
   import TestCaseSelectModal from "$lib/components/test_cases/TestCaseSelectModal.svelte"
   import TestCasesLibraryButton from "$lib/components/test_cases/TestCasesLibraryButton.svelte"
-  import TestCaseSummary from "$lib/components/test_cases/TestCaseSummary.svelte"
-  import TestCaseView from "$lib/components/test_cases/TestCaseView.svelte"
-  import TestCaseSimulationSharingModal from "$lib/components/TestCaseSimulationSharingModal.svelte"
-  import VariableDetail from "$lib/components/variables/VariableDetail.svelte"
+  import TestCaseSummary from "$lib/components/impacts_view/test_cases_view/test_case_selected/TestCaseSummary.svelte"
+  import TestCaseView from "$lib/components/impacts_view/test_cases_view/test_case_selected/TestCaseView.svelte"
+  import TestCaseSimulationSharingModal from "$lib/components/impacts_view/test_cases_view/TestCaseSimulationSharingModal.svelte"
+  import VariableDetail from "$lib/components/legislation_view/variables/details_modal/VariableDetail.svelte"
   import VariableReferredParameters from "$lib/components/legislation_view/parameters/VariableReferredParameters.svelte"
-  import VariableValueChange from "$lib/components/variables/VariableValueChange.svelte"
+  import VariableValueChange from "$lib/components/impacts_view/VariableValueChange.svelte"
   import LegislationPerimeterTree from "$lib/components/welcome_views/LegislationPerimeterTree.svelte"
   import WithoutBudgetCard from "$lib/components/budget/WithoutBudgetCard.svelte"
   import {
diff --git a/src/routes/accueil/+page.svelte b/src/routes/accueil/+page.svelte
index 6d96d7379..0633c984a 100644
--- a/src/routes/accueil/+page.svelte
+++ b/src/routes/accueil/+page.svelte
@@ -16,7 +16,7 @@
   import TestCaseSelectModal from "$lib/components/test_cases/TestCaseSelectModal.svelte"
   import AnchorTitle from "$lib/components/ui_transverse_components/AnchorTitle.svelte"
   import Footer from "$lib/components/Footer.svelte"
-  import VariableDetail from "$lib/components/variables/VariableDetail.svelte"
+  import VariableDetail from "$lib/components/legislation_view/variables/details_modal/VariableDetail.svelte"
   import LegislationPerimeterTree from "$lib/components/welcome_views/LegislationPerimeterTree.svelte"
   import { waterfalls, withLinkedVariableNames } from "$lib/decompositions"
   import type { DisplayMode } from "$lib/displays"
diff --git a/src/routes/variables/[variable]/+page.svelte b/src/routes/variables/[variable]/+page.svelte
index ed4e14ccc..f5db4e1b2 100644
--- a/src/routes/variables/[variable]/+page.svelte
+++ b/src/routes/variables/[variable]/+page.svelte
@@ -4,7 +4,7 @@
   import type { PageData } from "./$types"
 
   import { goto } from "$app/navigation"
-  import VariableView from "$lib/components/variables/VariableView.svelte"
+  import VariableView from "$lib/components/legislation_view/variables/technical_details_view/VariableView.svelte"
   import publicConfig from "$lib/public_config"
   import { shared } from "$lib/shared.svelte"
   import type { Situation } from "$lib/situations"
diff --git a/src/routes/variables/[variable]/inputs/[date]/+page.svelte b/src/routes/variables/[variable]/inputs/[date]/+page.svelte
index 3a330f7bb..a2a2eb574 100644
--- a/src/routes/variables/[variable]/inputs/[date]/+page.svelte
+++ b/src/routes/variables/[variable]/inputs/[date]/+page.svelte
@@ -4,7 +4,7 @@
   import type { PageData } from "./$types"
 
   import { page } from "$app/stores"
-  import VariableReferredInputs from "$lib/components/variables/VariableReferredInputs.svelte"
+  import VariableReferredInputs from "$lib/components/impacts_view/test_cases_view/test_case_selected/edition_mode/VariableReferredInputs.svelte"
   import publicConfig from "$lib/public_config"
   import type { Situation } from "$lib/situations"
   import { shared, year } from "$lib/shared.svelte"
-- 
GitLab