diff --git a/src/utils/utils.spec.ts b/src/utils/utils.spec.ts
index 1394922982da09dd5ce6d269bdbaf314908e8ac6..b2b98f20c8e63424ddddcb015b57f8932854142d 100644
--- a/src/utils/utils.spec.ts
+++ b/src/utils/utils.spec.ts
@@ -1,14 +1,20 @@
 import { Season } from 'enum/ecogesture.enum'
-import { FluidType } from 'enum/fluid.enum'
+import { FluidState, FluidType } from 'enum/fluid.enum'
 import { FluidSlugType } from 'enum/fluidSlug.enum'
+import { KonnectorUpdate } from 'enum/konnectorUpdate.enum'
 import { DateTime } from 'luxon'
+import { FluidStatus } from 'models'
 import {
   formatNumberValues,
   getChallengeTitleWithLineReturn,
   getFluidType,
   getKonnectorSlug,
+  getKonnectorUpdateError,
+  getMonthFullName,
+  getMonthName,
   getMonthNameWithPrep,
   getSeason,
+  isKonnectorActive,
 } from './utils'
 
 describe('utils test', () => {
@@ -42,6 +48,80 @@ describe('utils test', () => {
       expect(slug).toBe(FluidSlugType.GAS)
     })
   })
+  describe('getKonnectorUpdateError', () => {
+    it('should return KonnectorUpdate.ERROR_UPDATE_OAUTH for USER_ACTION_NEEDED.OAUTH_OUTDATED', () => {
+      const result = getKonnectorUpdateError(
+        'USER_ACTION_NEEDED.OAUTH_OUTDATED'
+      )
+      expect(result).toBe(KonnectorUpdate.ERROR_UPDATE_OAUTH)
+    })
+    it('should return KonnectorUpdate.LOGIN_FAILED for LOGIN_FAILED', () => {
+      const result = getKonnectorUpdateError('LOGIN_FAILED')
+      expect(result).toBe(KonnectorUpdate.LOGIN_FAILED)
+    })
+    it('should return KonnectorUpdate.ERROR_CONSENT_FORM_GAS for CHALLENGE_ASKED', () => {
+      const result = getKonnectorUpdateError('CHALLENGE_ASKED')
+      expect(result).toBe(KonnectorUpdate.ERROR_CONSENT_FORM_GAS)
+    })
+    it('should return KonnectorUpdate.ERROR_UPDATE for an unknown type', () => {
+      const result = getKonnectorUpdateError('UNKNOWN_TYPE')
+      expect(result).toBe(KonnectorUpdate.ERROR_UPDATE)
+    })
+  })
+
+  describe('isKonnectorActive', () => {
+    describe('for MULTIFLUID', () => {
+      it('should return false when all fluids are not connected', () => {
+        const fluidStatus = [
+          { status: FluidState.NOT_CONNECTED },
+          { status: FluidState.KONNECTOR_NOT_FOUND },
+          { status: FluidState.NOT_CONNECTED },
+        ] as FluidStatus[]
+        const result = isKonnectorActive(fluidStatus, FluidType.MULTIFLUID)
+        expect(result).toBe(false)
+      })
+      it('should return true when some fluids are connected', () => {
+        const fluidStatus = [
+          { status: FluidState.DONE },
+          { status: FluidState.NOT_CONNECTED },
+          { status: FluidState.DONE },
+        ] as FluidStatus[]
+        const result = isKonnectorActive(fluidStatus, FluidType.MULTIFLUID)
+        expect(result).toBe(true)
+      })
+    })
+
+    describe('for SINGLE fluids', () => {
+      it('should return false for a single fluid not connected', () => {
+        const fluidStatus = [
+          {},
+          {
+            status: FluidState.NOT_CONNECTED,
+            fluidType: FluidType.GAS,
+          },
+          {
+            status: FluidState.KONNECTOR_NOT_FOUND,
+            fluidType: FluidType.WATER,
+          },
+        ] as FluidStatus[]
+        expect(isKonnectorActive(fluidStatus, FluidType.GAS)).toBe(false)
+        expect(isKonnectorActive(fluidStatus, FluidType.WATER)).toBe(false)
+      })
+      it('should return true for a single fluid connected', () => {
+        const fluidStatus = [
+          {
+            status: FluidState.DONE,
+            fluidType: FluidType.ELECTRICITY,
+          },
+          { status: FluidState.ERROR, fluidType: FluidType.WATER },
+          { status: FluidState.ERROR_LOGIN_FAILED, fluidType: FluidType.GAS },
+        ] as FluidStatus[]
+        expect(isKonnectorActive(fluidStatus, FluidType.ELECTRICITY)).toBe(true)
+        expect(isKonnectorActive(fluidStatus, FluidType.GAS)).toBe(true)
+        expect(isKonnectorActive(fluidStatus, FluidType.WATER)).toBe(true)
+      })
+    })
+  })
 
   describe('formatNumberValues test', () => {
     it('should return --,-- if there is not value', () => {
@@ -105,6 +185,18 @@ describe('utils test', () => {
       expect(getChallengeTitleWithLineReturn('CHALLENGE0000')).toBe(undefined)
     })
   })
+
+  describe('getMonthFullName', () => {
+    it('should return the name of the month', () => {
+      expect(getMonthFullName(3)).toBe('Mars')
+    })
+  })
+
+  describe('getMonthFullName', () => {
+    it('should return the name of the month', () => {
+      expect(getMonthName(DateTime.local(2023, 6, 1))).toBe('juin')
+    })
+  })
   describe('getMonthNameWithPrep', () => {
     it('should return the name of the month with " de " ', () => {
       const date = DateTime.fromISO('2020-11-29T23:59:59.999Z')