From 188d40b8dce46ff3ede28e02e9d43a56c9866e27 Mon Sep 17 00:00:00 2001 From: Bastien Dumont <bdumont@grandlyon.com> Date: Mon, 25 Mar 2024 16:58:21 +0100 Subject: [PATCH] use values as enum --- .../Consumption/FluidButtons/FluidButton.tsx | 2 +- src/components/Konnector/KonnectorViewerCard.tsx | 7 +++---- .../Options/ReportOptions/ReportOptions.tsx | 4 ++-- src/enums/fluid.enum.ts | 12 ++++++------ src/services/fluid.service.ts | 2 +- src/store/global/global.slice.ts | 4 ++-- src/utils/utils.spec.ts | 2 +- tests/__mocks__/fluidStatusData.mock.ts | 2 +- 8 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/components/Consumption/FluidButtons/FluidButton.tsx b/src/components/Consumption/FluidButtons/FluidButton.tsx index f68eaa2d1..bd3b8e57c 100644 --- a/src/components/Consumption/FluidButtons/FluidButton.tsx +++ b/src/components/Consumption/FluidButtons/FluidButton.tsx @@ -32,7 +32,7 @@ const FluidButton = ({ fluidType, isActive }: FluidButtonProps) => { (fluidType !== FluidType.MULTIFLUID && fluidStatus[fluidType].status === FluidState.ERROR) || (fluidType !== FluidType.WATER && - fluidStatus[fluidType].status === FluidState.ERROR_LOGIN_FAILED) + fluidStatus[fluidType].status === FluidState.LOGIN_FAILED) ) { return true } diff --git a/src/components/Konnector/KonnectorViewerCard.tsx b/src/components/Konnector/KonnectorViewerCard.tsx index 605f86037..527d32ff3 100644 --- a/src/components/Konnector/KonnectorViewerCard.tsx +++ b/src/components/Konnector/KonnectorViewerCard.tsx @@ -268,7 +268,7 @@ const KonnectorViewerCard = ({ // Handle login failed for EGL else if ( (fluidType === FluidType.WATER && - fluidState === FluidState.ERROR_LOGIN_FAILED) || + fluidState === FluidState.LOGIN_FAILED) || (account && currentFluidStatus.status !== FluidState.NOT_CONNECTED) ) { return ( @@ -342,8 +342,7 @@ const KonnectorViewerCard = ({ } if ( - (status === FluidState.ERROR || - status === FluidState.ERROR_LOGIN_FAILED) && + (status === FluidState.ERROR || status === FluidState.LOGIN_FAILED) && connection.account ) { return ( @@ -499,7 +498,7 @@ const KonnectorViewerCard = ({ ['red-border']: !currentFluidStatus.maintenance && (currentFluidStatus.status === FluidState.ERROR || - currentFluidStatus.status === FluidState.ERROR_LOGIN_FAILED), + currentFluidStatus.status === FluidState.LOGIN_FAILED), }), }} > diff --git a/src/components/Options/ReportOptions/ReportOptions.tsx b/src/components/Options/ReportOptions/ReportOptions.tsx index 50556fd28..276df847b 100644 --- a/src/components/Options/ReportOptions/ReportOptions.tsx +++ b/src/components/Options/ReportOptions/ReportOptions.tsx @@ -1,3 +1,4 @@ +import { TextField } from '@material-ui/core' import StyledSwitch from 'components/CommonKit/Switch/StyledSwitch' import { useClient } from 'cozy-client' import { useI18n } from 'cozy-ui/transpiled/react/I18n' @@ -9,7 +10,6 @@ import ConsumptionDataManager from 'services/consumption.service' import { useAppDispatch, useAppSelector } from 'store/hooks' import { updateProfile } from 'store/profile/profile.slice' import './reportOptions.scss' -import { TextField } from '@material-ui/core' const ReportOptions = () => { const { t } = useI18n() @@ -35,7 +35,7 @@ const ReportOptions = () => { const isWaterConnected = fluidStatus[FluidType.WATER].status !== FluidState.NOT_CONNECTED && fluidStatus[FluidType.WATER].status !== FluidState.KONNECTOR_NOT_FOUND && - fluidStatus[FluidType.WATER].status !== FluidState.ERROR_LOGIN_FAILED + fluidStatus[FluidType.WATER].status !== FluidState.LOGIN_FAILED const setWaterLimit = (e: React.ChangeEvent<HTMLInputElement>) => { if (e.target.value !== null && parseInt(e.target.value) > 0) { diff --git a/src/enums/fluid.enum.ts b/src/enums/fluid.enum.ts index 4f6608f2c..e0d99c964 100644 --- a/src/enums/fluid.enum.ts +++ b/src/enums/fluid.enum.ts @@ -6,10 +6,10 @@ export enum FluidType { } export enum FluidState { - KONNECTOR_NOT_FOUND = 0, - NOT_CONNECTED = 1, - DONE = 200, - ERROR = 300, - ERROR_LOGIN_FAILED = 301, - CHALLENGE_ASKED = 400, + KONNECTOR_NOT_FOUND = 'KONNECTOR_NOT_FOUND', + NOT_CONNECTED = 'NOT_CONNECTED', + DONE = 'DONE', + ERROR = 'ERROR', + LOGIN_FAILED = 'LOGIN_FAILED', + CHALLENGE_ASKED = 'CHALLENGE_ASKED', } diff --git a/src/services/fluid.service.ts b/src/services/fluid.service.ts index 08e453191..7a286d154 100644 --- a/src/services/fluid.service.ts +++ b/src/services/fluid.service.ts @@ -34,7 +34,7 @@ export default class FluidService { return FluidState.DONE case 'errored': if (state?.last_error === 'LOGIN_FAILED') { - return FluidState.ERROR_LOGIN_FAILED + return FluidState.LOGIN_FAILED } if (state?.last_error === 'CHALLENGE_ASKED') { return FluidState.CHALLENGE_ASKED diff --git a/src/store/global/global.slice.ts b/src/store/global/global.slice.ts index cc6228136..3ef644bdb 100644 --- a/src/store/global/global.slice.ts +++ b/src/store/global/global.slice.ts @@ -138,9 +138,9 @@ const getFluidTypesFromStatus = (fluidStatus: FluidStatus[]): FluidType[] => { if ( (fluid.status !== FluidState.KONNECTOR_NOT_FOUND && fluid.status !== FluidState.NOT_CONNECTED && - fluid.status !== FluidState.ERROR_LOGIN_FAILED) || + fluid.status !== FluidState.LOGIN_FAILED) || // Handle Login Error case for oauth konnectors - (fluid.status === FluidState.ERROR_LOGIN_FAILED && + (fluid.status === FluidState.LOGIN_FAILED && fluid.fluidType !== FluidType.WATER) ) { fluidTypes.push(fluid.fluidType) diff --git a/src/utils/utils.spec.ts b/src/utils/utils.spec.ts index 3fd5c09ab..00f56faf7 100644 --- a/src/utils/utils.spec.ts +++ b/src/utils/utils.spec.ts @@ -125,7 +125,7 @@ describe('utils test', () => { fluidType: FluidType.ELECTRICITY, }, { status: FluidState.ERROR, fluidType: FluidType.WATER }, - { status: FluidState.ERROR_LOGIN_FAILED, fluidType: FluidType.GAS }, + { status: FluidState.LOGIN_FAILED, fluidType: FluidType.GAS }, ] as FluidStatus[] expect(isKonnectorActive(fluidStatus, FluidType.ELECTRICITY)).toBe(true) expect(isKonnectorActive(fluidStatus, FluidType.GAS)).toBe(true) diff --git a/tests/__mocks__/fluidStatusData.mock.ts b/tests/__mocks__/fluidStatusData.mock.ts index eb1338c76..43246e76f 100644 --- a/tests/__mocks__/fluidStatusData.mock.ts +++ b/tests/__mocks__/fluidStatusData.mock.ts @@ -264,7 +264,7 @@ export const mockExpiredElec: FluidStatus = { export const mockExpiredGas: FluidStatus = { fluidType: FluidType.GAS, - status: FluidState.ERROR_LOGIN_FAILED, + status: FluidState.LOGIN_FAILED, maintenance: false, firstDataDate: null, lastDataDate: null, -- GitLab