diff --git a/src/services/fluid.service.spec.ts b/src/services/fluid.service.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..49ab473464b6d06f4ad9e5a788796987310c0286
--- /dev/null
+++ b/src/services/fluid.service.spec.ts
@@ -0,0 +1,25 @@
+import FluidService from './fluid.service'
+import { Client } from 'cozy-client'
+
+const mockClient = ({
+  find: jest.fn(),
+  query: jest.fn(),
+  create: jest.fn(),
+  destroy: jest.fn(),
+} as unknown) as jest.Mocked<Client>
+
+const mockData = {}
+
+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)
+    })
+  })
+})
diff --git a/src/services/fluidConfig.service.spec.ts b/src/services/fluidConfig.service.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..931295dee1269eb3c64fdea6e1ccd45d430c797c
--- /dev/null
+++ b/src/services/fluidConfig.service.spec.ts
@@ -0,0 +1,19 @@
+import ConfigService from './fluidConfig.service'
+
+describe('ConfigService service', () => {
+  const configService = new ConfigService()
+  describe('getFluidConfig', () => {
+    it('shoud return an array with the fluid config', () => {
+      const result = configService.getFluidConfig()
+      expect(result).toBeDefined()
+    })
+  })
+  describe('getCronArgs', () => {
+    it('shoud return the args of a cron', () => {
+      const max = 5
+      const min = 5
+      const result = configService.getCronArgs(min, max)
+      expect(typeof result).toEqual('string')
+    })
+  })
+})
diff --git a/src/services/konnector.service.spec.ts b/src/services/konnector.service.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..949cd53d28e0603a4b07ad267d4154064c557f80
--- /dev/null
+++ b/src/services/konnector.service.spec.ts
@@ -0,0 +1,104 @@
+import KonnectorService from './konnector.service'
+import { Client, QueryDefinition } from 'cozy-client'
+import TriggerService from 'services/triggers.service'
+import { Trigger, TriggerState, Account } from 'models'
+
+const mockTriggers = ({
+  getTrigger: jest.fn(),
+  fetchTriggerState: jest.fn(),
+} as unknown) as jest.Mocked<TriggerService>
+
+const mockClient = ({
+  find: jest.fn(),
+  query: jest.fn(),
+  create: jest.fn(),
+  destroy: jest.fn(),
+  save: jest.fn(),
+  getStackClient: jest.fn(),
+} as unknown) as jest.Mocked<Client>
+
+const mockAccount: Account = {
+  _id: 'a686348c1fc85f92033e19eb6b0042af',
+  // eslint-disable-next-line @typescript-eslint/camelcase
+  account_type: 'eglgrandlyon',
+  auth: {
+    // eslint-disable-next-line @typescript-eslint/camelcase
+    credentials_encrypted:
+      'bmFjbNDdeM1X3TDBNfSmJTWOsiMkZHLkhUZVdfIh/BlrsTpNKYKZ6p63eBOpXUBSok5cTJBNuP2fVwOZAPzVKAACO+FMC2sdZtgk/CDqxwOA/roQlg==',
+    login: 'test',
+  },
+  identifier: 'login',
+}
+
+const mockKonnectorData = [
+  {
+    _id: 'test',
+    name: 'test',
+    slug: 'test',
+    state: 'test',
+  },
+]
+const mockFind = new QueryDefinition()
+const mockTriggerData: Trigger = {
+  _id: 'test',
+  type: 'test',
+  arguments: 'test',
+  worker: 'test',
+  message: {
+    account: 'test',
+    konnector: 'test',
+  },
+}
+const mockTriggerState: TriggerState = {
+  // eslint-disable-next-line @typescript-eslint/camelcase
+  trigger_id: 'test',
+  status: 'test',
+  // eslint-disable-next-line @typescript-eslint/camelcase
+  last_executed_job_id: 'test',
+  // eslint-disable-next-line @typescript-eslint/camelcase
+  last_execution: 'test',
+  // eslint-disable-next-line @typescript-eslint/camelcase
+  last_manual_execution: 'test',
+  // eslint-disable-next-line @typescript-eslint/camelcase
+  last_manual_job_id: 'test',
+}
+
+describe('KonnectorService service', () => {
+  const konnectorService = new KonnectorService(mockClient)
+  mockClient.find.mockReturnValue(mockFind)
+  mockClient.query.mockImplementation(() =>
+    Promise.resolve({ data: mockKonnectorData })
+  )
+  describe('getFluidConfig', () => {
+    it('shoud return an array with the fluid config', async () => {
+      const konnectorId = '0'
+
+      const result = await konnectorService.getKonnector(konnectorId)
+      expect(result).toEqual(mockKonnectorData[0])
+    })
+  })
+  describe('getKonnectorLastState', () => {
+    it('shoud return the triggerState or null', async () => {
+      mockTriggers.getTrigger.mockImplementation(() =>
+        Promise.resolve(mockTriggerData)
+      )
+      mockTriggers.fetchTriggerState.mockImplementation(() =>
+        Promise.resolve(mockTriggerState)
+      )
+      // mockClient.getStackClient.mockImplementation(() =>
+      //   Promise.resolve(mockTriggerState)
+      // )
+      const result = await konnectorService.getKonnectorLastState(
+        mockKonnectorData[0],
+        mockAccount
+      )
+      expect(result).toEqual({})
+    })
+  })
+  describe('createIndexKonnector', () => {
+    it('shoud return the query Result', async () => {
+      const result = await konnectorService.createIndexKonnector()
+      expect(result).toEqual({ data: mockKonnectorData })
+    })
+  })
+})
diff --git a/src/services/triggers.service.ts b/src/services/triggers.service.ts
index 5b4dee3cff160497ec43c3149d2a2cfe8521e408..740de5c2addc6c37504f7d9888fb661f5ddd6f3a 100644
--- a/src/services/triggers.service.ts
+++ b/src/services/triggers.service.ts
@@ -39,9 +39,11 @@ export default class TriggerService {
         'TriggersServices : createTrigger - _triggerAttributes not found'
       )
     }
+    console.log(triggerAttributes)
     const trigger = await triggersMutations(this._client).createTrigger(
       triggerAttributes
     )
+    console.log(trigger)
     return trigger
   }
 
diff --git a/src/services/userProfile.service.spec.ts b/src/services/userProfile.service.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e72eb096a90363b4c131df182a2a22ad4eb409df
--- /dev/null
+++ b/src/services/userProfile.service.spec.ts
@@ -0,0 +1,95 @@
+import UserProfileService from './userProfile.service'
+import { Client, QueryDefinition } from 'cozy-client'
+
+const mockClient = ({
+  find: jest.fn(),
+  query: jest.fn(),
+  create: jest.fn(),
+  destroy: jest.fn(),
+  save: jest.fn(),
+} as unknown) as jest.Mocked<Client>
+
+const mockUserProfile = [
+  {
+    _id: 'a56c80fcf9fadbe85423e448fc005a9a',
+    _rev: '36-6c6bd449107c2d1c86ae7f58094c7503',
+    challengeTypeHash: '1136feb6185c7643e071d14180c0e95782aa4ba3',
+    cozyMetadata: {
+      createdAt: '2020-11-03T08:56:10.311Z',
+      createdByApp: 'ecolyo',
+      createdByAppVersion: '0.2.1',
+      metadataVersion: 1,
+      updatedAt: '2020-11-09T10:27:30.156Z',
+      updatedByApps: [
+        {
+          date: '2020-11-09T10:27:30.156Z',
+          slug: 'ecolyo',
+          version: '0.2.1',
+        },
+      ],
+    },
+    ecogestureHash: '9798a0aaccb47cff906fc4931a2eff5f9371dd8b',
+    haveSeenFavoriteModal: true,
+    haveSeenOldFluidModal: '2020-11-09T11:27:30.073+01:00',
+    id: 'a56c80fcf9fadbe85423e448fc005a9a',
+    isFirstConnection: false,
+    level: 3,
+    notificationEcogesture: ['0085', '0082', '0041', '0064', '0045'],
+    report: {
+      haveSeenLastReport: true,
+      monthlyReportDate: '2020-11-03T00:00:00.000+01:00',
+      sendReportNotification: false,
+    },
+  },
+]
+const mockFind = new QueryDefinition()
+describe('UserProfile service', () => {
+  const userProfileService = new UserProfileService(mockClient)
+
+  describe('getUserProfile', () => {
+    it('shoud return the user profile', async () => {
+      mockClient.query.mockImplementation(() =>
+        Promise.resolve({ data: mockUserProfile })
+      )
+      mockClient.find.mockReturnValue(mockFind)
+      const result = await userProfileService.getUserProfile()
+      expect(result).toEqual(mockUserProfile[0])
+    })
+    it('shoud return the user profile from string haveSeenOldFluidModal', async () => {
+      const strMockUserProfile = mockUserProfile
+      strMockUserProfile[0].haveSeenOldFluidModal =
+        '2020-11-09T11:27:30.073+01:00'
+      strMockUserProfile[0].report.monthlyReportDate =
+        '2020-11-03T00:00:00.000+01:00'
+      mockClient.query.mockImplementation(() =>
+        Promise.resolve({ data: strMockUserProfile })
+      )
+      mockClient.find.mockReturnValue(mockFind)
+      const result = await userProfileService.getUserProfile()
+      expect(result).toEqual(mockUserProfile[0])
+    })
+  })
+  describe('updateUserProfile', () => {
+    it('shoud return an updated user profile', async () => {
+      const strMockUserProfile = mockUserProfile
+      strMockUserProfile[0].haveSeenOldFluidModal =
+        '2020-11-09T11:27:30.073+01:00'
+      strMockUserProfile[0].report.monthlyReportDate =
+        '2020-11-03T00:00:00.000+01:00'
+
+      mockClient.query.mockImplementation(() =>
+        Promise.resolve({ data: strMockUserProfile })
+      )
+      mockClient.find.mockReturnValue(mockFind)
+      mockClient.save.mockResolvedValue({ data: strMockUserProfile[0] })
+      const result = await userProfileService.updateUserProfile({
+        haveSeenFavoriteModal: false,
+      })
+      const updatedMockUserProfile = mockUserProfile[0]
+
+      updatedMockUserProfile.haveSeenFavoriteModal = false
+
+      expect(result).toEqual(updatedMockUserProfile)
+    })
+  })
+})
diff --git a/src/services/userProfile.service.ts b/src/services/userProfile.service.ts
index 630cc1bfd7220ae4ddef2a7263ee0789f547d34f..3c71feddca036fc34016df2321faf74350b5adb7 100644
--- a/src/services/userProfile.service.ts
+++ b/src/services/userProfile.service.ts
@@ -47,10 +47,11 @@ export default class UserProfileService {
       .query(this._client.find(USERPROFILE_DOCTYPE).limitBy(1))
       .then(async ({ data }: any) => {
         const doc = data[0]
-        return await this._client.save({
+        const saveResult = await this._client.save({
           ...doc,
           ...attributes,
         })
+        return saveResult
       })
     if (userProfile && typeof userProfile.haveSeenOldFluidModal === 'string') {
       userProfile.haveSeenOldFluidModal = DateTime.fromISO(
diff --git a/test/services/FluidService.spec.js b/test/services/FluidService.spec.js.old
similarity index 100%
rename from test/services/FluidService.spec.js
rename to test/services/FluidService.spec.js.old
diff --git a/test/services/TriggerService.spec.js b/test/services/TriggerService.spec.js.old
similarity index 100%
rename from test/services/TriggerService.spec.js
rename to test/services/TriggerService.spec.js.old