diff --git a/src/services/fluid.service.spec.ts b/src/services/fluid.service.spec.ts
index 49ab473464b6d06f4ad9e5a788796987310c0286..e8e848c6007b3848530bf85bf8a021045acb0fb6 100644
--- a/src/services/fluid.service.spec.ts
+++ b/src/services/fluid.service.spec.ts
@@ -1,25 +1,176 @@
 import FluidService from './fluid.service'
-import { Client } from 'cozy-client'
+import mockClient from './__mocks__/client'
+import accountsData from './__mocks__/accountsData.json'
+import konnectorsData from './__mocks__/konnectorsData.json'
+import triggersData from './__mocks__/triggersData.json'
+import triggerStateData from './__mocks__/triggerStateData.json'
+import { DateTime } from 'luxon'
+import { FluidType } from 'enum/fluid.enum'
+import { FluidStatus } from 'models'
 
-const mockClient = ({
-  find: jest.fn(),
-  query: jest.fn(),
-  create: jest.fn(),
-  destroy: jest.fn(),
-} as unknown) as jest.Mocked<Client>
+const mockGetAccountByType = jest.fn()
+jest.mock('./account.service', () => {
+  return jest.fn(() => {
+    return {
+      getAccountByType: mockGetAccountByType,
+    }
+  })
+})
+
+const mockGetKonnector = jest.fn()
+jest.mock('./konnector.service', () => {
+  return jest.fn(() => {
+    return {
+      getKonnector: mockGetKonnector,
+    }
+  })
+})
+
+const mockGetTrigger = jest.fn()
+const mockFetchTriggerState = jest.fn()
+jest.mock('./triggers.service', () => {
+  return jest.fn(() => {
+    return {
+      getTrigger: mockGetTrigger,
+      fetchTriggerState: mockFetchTriggerState,
+    }
+  })
+})
 
-const mockData = {}
+const mockFetchAllLastDateData = jest.fn()
+jest.mock('./consumption.service', () => {
+  return jest.fn(() => {
+    return {
+      fetchAllLastDateData: mockFetchAllLastDateData,
+    }
+  })
+})
 
 describe('FLuid service', () => {
   const fluidService = new FluidService(mockClient)
 
-  describe('getFluidStatus', () => {
-    it('shoud return fluid status', async () => {
-      // mockClient.query.mockImplementation(() =>
-      //   Promise.resolve({ data: mockData })
-      // )
-      const result = await fluidService.getFluidStatus()
-      expect(result).toEqual(mockData)
+  describe('getFluidStatus method', () => {
+    it('shoud return fluid status for all fluids', async () => {
+      const mockLastDataDates: (DateTime | null)[] = [
+        DateTime.local(),
+        DateTime.local(),
+        DateTime.local(),
+      ]
+      const mockResult: FluidStatus[] = [
+        {
+          fluidType: FluidType.ELECTRICITY,
+          status: triggerStateData.status,
+          lastDataDate: mockLastDataDates[FluidType.ELECTRICITY],
+        },
+        {
+          fluidType: FluidType.WATER,
+          status: triggerStateData.status,
+          lastDataDate: mockLastDataDates[FluidType.WATER],
+        },
+        {
+          fluidType: FluidType.GAS,
+          status: triggerStateData.status,
+          lastDataDate: mockLastDataDates[FluidType.GAS],
+        },
+      ]
+      mockGetAccountByType
+        .mockResolvedValueOnce(accountsData[0])
+        .mockResolvedValueOnce(accountsData[1])
+        .mockResolvedValueOnce(accountsData[2])
+      mockGetKonnector
+        .mockResolvedValueOnce(konnectorsData[0])
+        .mockResolvedValueOnce(konnectorsData[1])
+        .mockResolvedValueOnce(konnectorsData[2])
+      mockGetTrigger
+        .mockResolvedValueOnce(triggersData[0])
+        .mockResolvedValueOnce(triggersData[1])
+        .mockResolvedValueOnce(triggersData[2])
+      mockFetchTriggerState.mockResolvedValue(triggerStateData)
+      mockFetchAllLastDateData.mockResolvedValue(mockLastDataDates)
+      const result: FluidStatus[] = await fluidService.getFluidStatus()
+      expect(result).toEqual(mockResult)
+    })
+
+    it('shoud return fluid status with null status', async () => {
+      const mockLastDataDates: (DateTime | null)[] = [
+        DateTime.local(),
+        DateTime.local(),
+        DateTime.local(),
+      ]
+      const mockResult: FluidStatus[] = [
+        {
+          fluidType: FluidType.ELECTRICITY,
+          status: null,
+          lastDataDate: mockLastDataDates[FluidType.ELECTRICITY],
+        },
+        {
+          fluidType: FluidType.WATER,
+          status: null,
+          lastDataDate: mockLastDataDates[FluidType.WATER],
+        },
+        {
+          fluidType: FluidType.GAS,
+          status: null,
+          lastDataDate: mockLastDataDates[FluidType.GAS],
+        },
+      ]
+      mockGetAccountByType
+        .mockResolvedValueOnce(accountsData[0])
+        .mockResolvedValueOnce(accountsData[1])
+        .mockResolvedValueOnce(accountsData[2])
+      mockGetKonnector
+        .mockResolvedValueOnce(konnectorsData[0])
+        .mockResolvedValueOnce(konnectorsData[1])
+        .mockResolvedValueOnce(konnectorsData[2])
+      mockGetTrigger
+        .mockResolvedValueOnce(null)
+        .mockResolvedValueOnce(null)
+        .mockResolvedValueOnce(null)
+      mockFetchTriggerState.mockResolvedValue(triggerStateData)
+      mockFetchAllLastDateData.mockResolvedValue(mockLastDataDates)
+      const result: FluidStatus[] = await fluidService.getFluidStatus()
+      expect(result).toEqual(mockResult)
+    })
+
+    it('shoud return fluid status with null laste date for water and gaz', async () => {
+      const mockLastDataDates: (DateTime | null)[] = [
+        DateTime.local(),
+        null,
+        null,
+      ]
+      const mockResult: FluidStatus[] = [
+        {
+          fluidType: FluidType.ELECTRICITY,
+          status: triggerStateData.status,
+          lastDataDate: mockLastDataDates[FluidType.ELECTRICITY],
+        },
+        {
+          fluidType: FluidType.WATER,
+          status: triggerStateData.status,
+          lastDataDate: null,
+        },
+        {
+          fluidType: FluidType.GAS,
+          status: triggerStateData.status,
+          lastDataDate: null,
+        },
+      ]
+      mockGetAccountByType
+        .mockResolvedValueOnce(accountsData[0])
+        .mockResolvedValueOnce(accountsData[1])
+        .mockResolvedValueOnce(accountsData[2])
+      mockGetKonnector
+        .mockResolvedValueOnce(konnectorsData[0])
+        .mockResolvedValueOnce(konnectorsData[1])
+        .mockResolvedValueOnce(konnectorsData[2])
+      mockGetTrigger
+        .mockResolvedValueOnce(triggersData[0])
+        .mockResolvedValueOnce(triggersData[1])
+        .mockResolvedValueOnce(triggersData[2])
+      mockFetchTriggerState.mockResolvedValue(triggerStateData)
+      mockFetchAllLastDateData.mockResolvedValue(mockLastDataDates)
+      const result: FluidStatus[] = await fluidService.getFluidStatus()
+      expect(result).toEqual(mockResult)
     })
   })
 })
diff --git a/src/services/fluid.service.ts b/src/services/fluid.service.ts
index 2cd355c935354a09a426fa96f0554023114f4af6..8c3602994bfcab1efd826918b16c3821d18c0e8f 100644
--- a/src/services/fluid.service.ts
+++ b/src/services/fluid.service.ts
@@ -7,7 +7,6 @@ import KonnectorService from 'services/konnector.service'
 import ConsumptionService from 'services/consumption.service'
 import AccountService from 'services/account.service'
 import TriggerService from 'services/triggers.service'
-import { DateTime } from 'luxon'
 
 export default class FluidService {
   private _client: Client