diff --git a/src/components/FAQ/FAQContent.tsx b/src/components/FAQ/FAQContent.tsx
index f1ddb4af24f1745e220aff355a15c2077003e6c7..b677f3fbb2ca66abbf5aa17dd8e63a8bf46fa4b4 100644
--- a/src/components/FAQ/FAQContent.tsx
+++ b/src/components/FAQ/FAQContent.tsx
@@ -87,9 +87,7 @@ const FAQContent: React.FC = () => {
     event: React.ChangeEvent<{}>,
     isExpanded: boolean
   ) => {
-    console.log(panel)
     setExpandedPanel(isExpanded ? panel : false)
-    console.log(expandedPanel)
   }
 
   return (
diff --git a/src/components/FAQ/FAQView.spec.tsx b/src/components/FAQ/FAQView.spec.tsx
index 4c57462cb9553cde73921845f52d411b83861df8..833fb81390359311698d34179c190ed7d3f9aead 100644
--- a/src/components/FAQ/FAQView.spec.tsx
+++ b/src/components/FAQ/FAQView.spec.tsx
@@ -6,9 +6,6 @@ import FAQView from 'components/FAQ/FAQView'
 import FAQContent from 'components/FAQ/FAQContent'
 import GenericExpansionPanel from 'components/CommonKit/ExpansionPanel/StyledSampleExpansionPanel'
 
-import * as MockRecoil from '../../services/__mocks__/recoil'
-import * as Recoil from 'recoil'
-
 jest.mock('cozy-ui/transpiled/react/I18n', () => {
   return {
     useI18n: jest.fn(() => {
@@ -19,11 +16,8 @@ jest.mock('cozy-ui/transpiled/react/I18n', () => {
   }
 })
 
-const defineHeaderHeight = jest.fn()
-
 describe('FAQView component', () => {
   it('should render only the parent component', () => {
-    defineHeaderHeight.mockReturnValue(8)
     const component = shallow(<FAQView />).getElement()
     expect(component).toMatchSnapshot()
   })
diff --git a/src/components/Feedback/FeedbackModal.spec.tsx b/src/components/Feedback/FeedbackModal.spec.tsx
index 6117920cf99a11e2922d520c728de46e1ab6e1f4..38a7bb1bd18ad67b9fc73453ee2cd971ba641d0a 100644
--- a/src/components/Feedback/FeedbackModal.spec.tsx
+++ b/src/components/Feedback/FeedbackModal.spec.tsx
@@ -3,9 +3,31 @@
 import React from 'react'
 import { mount, shallow, ShallowWrapper } from 'enzyme'
 import FeedbackModal from 'components/Feedback/FeedbackModal'
+import MailService from 'services/mail.service'
+import StyledButton from 'components/CommonKit/Button/StyledButton'
+import mockClient from '../../services/__mocks__/client'
+import { useClient } from 'cozy-client'
+import Modal from 'components/CommonKit/Modal/Modal'
+import StyledIconButton from 'components/CommonKit/IconButton/StyledIconButton'
+import { fn } from 'moment'
 
-import * as MockClient from '../../../test/__mocks__/cozy-client'
-import * as Client from 'cozy-client'
+const mockSendMail = jest.fn()
+jest.mock('services/mail.service', () => {
+  return jest.fn(() => {
+    return {
+      SendMail: mockSendMail,
+    }
+  })
+})
+
+// const mockResetInputs = jest.fn()
+// jest.mock('./FeedbackModal', () => {
+//   return jest.fn(() => {
+//     return {
+//       resetInputs: mockResetInputs,
+//     }
+//   })
+// })
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => {
   return {
@@ -16,42 +38,82 @@ jest.mock('cozy-ui/transpiled/react/I18n', () => {
     }),
   }
 })
+const client = useClient()
+const handleFeedbackModalClose = jest.fn()
 
-const handleFeedbackModalClose = () => {
-  // setModalState((prev: ModalState) => ({ ...prev, feedbackModal: false }))
-  console.log(handleFeedbackModalClose)
-}
-
-jest.mock('cozy-client')
+//jest.mock('cozy-client')
 // const { useClient } = (Client as unknown) as typeof MockClient
 
 describe('FeedbackModal component', () => {
-  it('should render only the component', () => {
+  it('should render the component', () => {
     const component = shallow(
       <FeedbackModal open={true} handleCloseClick={handleFeedbackModalClose} />
     ).getElement()
     expect(component).toMatchSnapshot()
   })
 })
-describe('FAQContent', () => {
-  // let wrapper:
-  //   | any[]
-  //   | ShallowWrapper<any, Readonly<{}>, React.Component<{}, {}, any>>
-  // const setState = jest.fn()
-  // const useStateSpy = jest.spyOn(React, 'useState')
-  // const useStateMock: any = (init: any) => [init, setState]
-  // useStateSpy.mockImplementation(useStateMock)
-  // beforeEach(() => {
-  //   wrapper = shallow(<FAQContent />)
-  // })
-  // afterEach(() => {
-  //   jest.clearAllMocks()
-  // })
-  // it('should render all the FAQContent component', async () => {
-  //   wrapper
-  //     .find(GenericExpansionPanel)
-  //     .first()
-  //     .simulate('change', { isExpanded: true })
-  //   expect(setState).toHaveBeenCalledWith('panel0')
-  // })
+describe('FeedbackModal functionnalities', () => {
+  const wrapper = shallow(
+    <FeedbackModal open={true} handleCloseClick={handleFeedbackModalClose} />
+  )
+  it('should should send an email to the support', () => {
+    const expectedMailData = {
+      mode: 'from',
+      to: [{ name: 'Support', email: 'ecolyo@grandlyon.com' }],
+      subject: '[Ecolyo] - Feedbacks - feedback.type_bug',
+      parts: [
+        {
+          type: 'text/plain',
+          body:
+            'Type: feedback.type_bug\n' +
+            '\n' +
+            'Description:\n' +
+            'La description\n' +
+            '\n' +
+            'Email: \n' +
+            '_______________\n' +
+            'Ecolyo\n' +
+            'v0.0.0\n' +
+            '\n' +
+            'Location: http://localhost/\n' +
+            '\n' +
+            'Browser:\n' +
+            'On null\n' +
+            'From null\n' +
+            'null\n' +
+            '\n' +
+            'Navigator:\n' +
+            'On \n' +
+            'From Apple Computer, Inc.\n' +
+            'Mozilla/5.0 (win32) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/11.12.0',
+        },
+      ],
+    }
+
+    wrapper
+      .find('div.fb-selector-item')
+      .first()
+      .simulate('click')
+    wrapper
+      .find('#idFeedbackDescription')
+      .simulate('change', { target: { value: 'La description' } })
+    wrapper.find(StyledButton).simulate('click')
+
+    expect(mockSendMail).toHaveBeenCalledWith(
+      expect.anything(),
+      expectedMailData
+    )
+  })
+  it('should close the modal and reset the inputs', () => {
+    const mockElement = { style: { overflowY: 'style' } }
+    jest.spyOn(document, 'querySelector').mockReturnValue(mockElement)
+    const mockResetInputs = jest.spyOn(FeedbackModal, 'resetInputs')
+    wrapper
+      .find(Modal)
+      .dive()
+      .find(StyledIconButton)
+      .simulate('click')
+    expect(handleFeedbackModalClose).toHaveBeenCalledTimes(1)
+    //expect(mockResetInputs).toHaveBeenCalledTimes(1)
+  })
 })
diff --git a/src/components/Feedback/FeedbackModal.tsx b/src/components/Feedback/FeedbackModal.tsx
index 1206aa07dc288dc63eae8f4bf74e48564aaf9b7a..234448256d76baf93fd78aba7b87fc79c0baca53 100644
--- a/src/components/Feedback/FeedbackModal.tsx
+++ b/src/components/Feedback/FeedbackModal.tsx
@@ -16,6 +16,7 @@ import OtherOnIcon from 'assets/icons/visu/feedback/other-on.svg'
 import OtherOffIcon from 'assets/icons/visu/feedback/other-off.svg'
 import warningIcon from 'assets/icons/ico/warning-yellow.svg'
 import successIcon from 'assets/icons/visu/data-ok.svg'
+import MailService from 'services/mail.service'
 
 const FEEDBACK_EMAIL = 'ecolyo@grandlyon.com'
 const browser = detect()
@@ -39,6 +40,7 @@ const FeedbackModal: React.FC<FeedbackModalProps> = ({
   const [error, setError] = useState<string>('')
 
   const resetInputs = () => {
+    console.log('resetInputs')
     setType('bug')
     setDescription('')
     setEmail('')
@@ -86,8 +88,8 @@ const FeedbackModal: React.FC<FeedbackModalProps> = ({
         parts: [{ type: 'text/plain', body: mailContent }],
       }
       try {
-        const jobCollection = client.collection('io.cozy.jobs')
-        await jobCollection.create('sendmail', mailData)
+        const mailService = new MailService()
+        mailService.SendMail(client, mailData)
       } catch (e) {
         // eslint-disable-next-line no-console
         console.error(e)
diff --git a/src/components/Feedback/__snapshots__/FeedbackModal.spec.tsx.snap b/src/components/Feedback/__snapshots__/FeedbackModal.spec.tsx.snap
index f58e35ae58d1d91c1a020d55d9a0a3d7e817efda..60d1a9ed4267f47ccd8acab6ead973b7ef6deaa8 100644
--- a/src/components/Feedback/__snapshots__/FeedbackModal.spec.tsx.snap
+++ b/src/components/Feedback/__snapshots__/FeedbackModal.spec.tsx.snap
@@ -1,6 +1,6 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`FeedbackModal component should render only the component 1`] = `
+exports[`FeedbackModal component should render the component 1`] = `
 <Modal
   handleCloseClick={[Function]}
   open={true}
diff --git a/test/__mocks__/client.ts b/test/__mocks__/client.ts
index 137dd41a3b0717caeb24cbbab2f211932cbaad94..e154f309e24d93ab47d59295348b9ad5602246e4 100644
--- a/test/__mocks__/client.ts
+++ b/test/__mocks__/client.ts
@@ -11,6 +11,9 @@ const mockClient = ({
   getStackClient: jest.fn().mockReturnValue({
     fetchJSON: jest.fn(),
   }),
+  appMetadata: {
+    version: '0.0.0',
+  },
 } as unknown) as jest.Mocked<Client>
 
 export default mockClient
diff --git a/test/__mocks__/cozy-client.ts b/test/__mocks__/cozy-client.ts
index 1f08af18536ce928b1ce75095f320d59840bc45a..41b24dfb572fe1b07c576e6400ac1be07890941a 100644
--- a/test/__mocks__/cozy-client.ts
+++ b/test/__mocks__/cozy-client.ts
@@ -12,6 +12,9 @@ export const useClient = jest.fn(() => {
     getStackClient: jest.fn().mockReturnValue({
       fetchJSON: jest.fn(),
     }),
+    appMetadata: {
+      version: '0.0.0',
+    },
   }
 })