From a41b716ebb50ae5be8657f199cf1fa3c48556fe6 Mon Sep 17 00:00:00 2001 From: Bastien DUMONT <bdumont@grandlyon.com> Date: Wed, 29 Mar 2023 07:16:56 +0000 Subject: [PATCH] chore(sonar): fix some critical smells --- .../Ecogesture/EcogestureEmptyList.spec.tsx | 5 +- .../Ecogesture/EcogestureList.spec.tsx | 2 +- .../EcogestureEmptyList.spec.tsx.snap | 2 +- .../EcogestureList.spec.tsx.snap | 4 +- src/utils/picto.ts | 58 ++++++++----------- 5 files changed, 30 insertions(+), 41 deletions(-) diff --git a/src/components/Ecogesture/EcogestureEmptyList.spec.tsx b/src/components/Ecogesture/EcogestureEmptyList.spec.tsx index 1ee33bdda..09570fb09 100644 --- a/src/components/Ecogesture/EcogestureEmptyList.spec.tsx +++ b/src/components/Ecogesture/EcogestureEmptyList.spec.tsx @@ -17,14 +17,15 @@ jest.mock('cozy-ui/transpiled/react/I18n', () => { }), } }) -const mockedNavigate = jest.fn() jest.mock('react-router-dom', () => ({ ...jest.requireActual('react-router-dom'), useNavigate: () => mockedNavigate, })) const mockStore = configureStore([]) +const mockedNavigate = jest.fn() const mockChangeTab = jest.fn() -const mockHandleClick = () => {} +const mockHandleClick = jest.fn() + describe('EcogestureEmptyList component', () => { it('should be rendered correctly', () => { const store = mockStore({ diff --git a/src/components/Ecogesture/EcogestureList.spec.tsx b/src/components/Ecogesture/EcogestureList.spec.tsx index 6d0e6b701..0ea4f27a9 100644 --- a/src/components/Ecogesture/EcogestureList.spec.tsx +++ b/src/components/Ecogesture/EcogestureList.spec.tsx @@ -23,7 +23,7 @@ jest.mock('cozy-ui/transpiled/react/I18n', () => { jest.mock('components/Ecogesture/EcogestureCard', () => 'mock-ecogesturecard') const mockStore = configureStore([]) -const mockHandleReinit = () => {} +const mockHandleReinit = jest.fn() describe('EcogesturesList component', () => { it('should be rendered correctly', async () => { diff --git a/src/components/Ecogesture/__snapshots__/EcogestureEmptyList.spec.tsx.snap b/src/components/Ecogesture/__snapshots__/EcogestureEmptyList.spec.tsx.snap index ac78b2c1e..80b817f03 100644 --- a/src/components/Ecogesture/__snapshots__/EcogestureEmptyList.spec.tsx.snap +++ b/src/components/Ecogesture/__snapshots__/EcogestureEmptyList.spec.tsx.snap @@ -14,7 +14,7 @@ exports[`EcogestureEmptyList component should be rendered correctly 1`] = ` } > <EcogestureEmptyList - handleReinitClick={[Function]} + handleReinitClick={[MockFunction]} isObjective={true} isSelectionDone={false} setTab={[MockFunction]} diff --git a/src/components/Ecogesture/__snapshots__/EcogestureList.spec.tsx.snap b/src/components/Ecogesture/__snapshots__/EcogestureList.spec.tsx.snap index 55fd93885..426846c35 100644 --- a/src/components/Ecogesture/__snapshots__/EcogestureList.spec.tsx.snap +++ b/src/components/Ecogesture/__snapshots__/EcogestureList.spec.tsx.snap @@ -46,7 +46,7 @@ exports[`EcogesturesList component should be rendered correctly 1`] = ` > <EcogestureList displaySelection={false} - handleReinitClick={[Function]} + handleReinitClick={[MockFunction]} list={ Array [ Object { @@ -1955,7 +1955,7 @@ exports[`EcogesturesList component should be rendered correctly 1`] = ` /> <button className="reinit-button" - onClick={[Function]} + onClick={[MockFunction]} > <span> ecogesture.reinit diff --git a/src/utils/picto.ts b/src/utils/picto.ts index 7c093d39f..a5c2b78cf 100644 --- a/src/utils/picto.ts +++ b/src/utils/picto.ts @@ -27,7 +27,7 @@ import WaterIcon from '../assets/icons/visu/water.svg' import { FluidType } from '../enum/fluid.enum' /** - * Return an icon corresponding to FuildType enum + * Return an icon corresponding to FluidType enum * @param type FluidType */ export function getPicto(type: FluidType, small = false) { @@ -45,7 +45,7 @@ export function getPicto(type: FluidType, small = false) { } } /** - * Return an icon corresponding to add FuildType enum + * Return an icon corresponding to add FluidType enum * @param type FluidType */ export function getAddPicto(type: FluidType) { @@ -74,55 +74,43 @@ export function getParamPicto(type: FluidType) { } } +const getIcon = ( + active: boolean, + connected: boolean, + activeIcon: string, + inactiveIcon: string +) => { + if (connected) { + return active ? activeIcon : inactiveIcon + } else { + return active ? DisconnectedActive : Disconnected + } +} + /** - * Return an icon corresponding to FuildType enum - * @param type FluidType + * Returns the appropriate icon for a given fluid type and connection status */ export function getNavPicto( - type: FluidType, + fluidType: FluidType, active: boolean, connected: boolean ) { - switch (type) { + switch (fluidType) { case FluidType.ELECTRICITY: - return connected - ? active - ? ElecSmallIcon - : ElecUnactive - : active - ? DisconnectedActive - : Disconnected + return getIcon(active, connected, ElecSmallIcon, ElecUnactive) case FluidType.WATER: - return connected - ? active - ? WaterSmallIcon - : WaterUnactive - : active - ? DisconnectedActive - : Disconnected + return getIcon(active, connected, WaterSmallIcon, WaterUnactive) case FluidType.GAS: - return connected - ? active - ? GasSmallIcon - : GasUnactive - : active - ? DisconnectedActive - : Disconnected + return getIcon(active, connected, GasSmallIcon, GasUnactive) case FluidType.MULTIFLUID: - return connected - ? active - ? Multi - : MultiUnactive - : active - ? DisconnectedActive - : Disconnected + return getIcon(active, connected, Multi, MultiUnactive) default: return ElecIcon } } /** - * Return an partner icon corresponding to FuildType enum + * Return an partner icon corresponding to FluidType enum * @param slug string * @param blackLogo boolean - define the color of the logo (black or white) */ -- GitLab