diff --git a/src/components/Ecogesture/EcogestureCard.spec.tsx b/src/components/Ecogesture/EcogestureCard.spec.tsx
index 247154e7d7c32a0b0f3ed31288ed53a463f4cad0..3146ddbdb375ff02e25230b93ed77e1859ba5775 100644
--- a/src/components/Ecogesture/EcogestureCard.spec.tsx
+++ b/src/components/Ecogesture/EcogestureCard.spec.tsx
@@ -8,7 +8,7 @@ import configureStore from 'redux-mock-store'
 import { globalStateData } from '../../../tests/__mocks__/globalStateData.mock'
 import { Provider } from 'react-redux'
 import { BrowserRouter } from 'react-router-dom'
-import { act } from 'react-dom/test-utils'
+import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => {
   return {
@@ -44,14 +44,12 @@ describe('EcogestureCard component', () => {
     const wrapper = mount(
       <Provider store={store}>
         <BrowserRouter>
-          <EcogestureCard ecogesture={ecogesturesData[0]} currentTab={1} />
+          <EcogestureCard ecogesture={ecogesturesData[0]} />
         </BrowserRouter>
       </Provider>
     )
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
+
     expect(toJson(wrapper)).toMatchSnapshot()
   })
   it('should be with default icon', async () => {
@@ -64,14 +62,12 @@ describe('EcogestureCard component', () => {
     const wrapper = mount(
       <Provider store={store}>
         <BrowserRouter>
-          <EcogestureCard ecogesture={ecogesturesData[0]} currentTab={1} />
+          <EcogestureCard ecogesture={ecogesturesData[0]} />
         </BrowserRouter>
       </Provider>
     )
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
+
     expect(wrapper.find('.Icon').exists()).toBeTruthy()
   })
 })
diff --git a/src/components/Ecogesture/EcogestureList.spec.tsx b/src/components/Ecogesture/EcogestureList.spec.tsx
index ba858ab86ce49a64bb47c1f45e4222e847c8022b..58cc2649500282b31cc14ce0558984d6621c6128 100644
--- a/src/components/Ecogesture/EcogestureList.spec.tsx
+++ b/src/components/Ecogesture/EcogestureList.spec.tsx
@@ -35,7 +35,7 @@ describe('EcogesturesList component', () => {
     const wrapper = mount(
       <Provider store={store}>
         <BrowserRouter>
-          <EcogestureList currentTab={2} list={ecogesturesData} />
+          <EcogestureList list={ecogesturesData} />
         </BrowserRouter>
       </Provider>
     )
@@ -52,7 +52,7 @@ describe('EcogesturesList component', () => {
     const wrapper = mount(
       <Provider store={store}>
         <BrowserRouter>
-          <EcogestureList currentTab={2} list={ecogesturesData} />
+          <EcogestureList list={ecogesturesData} />
         </BrowserRouter>
       </Provider>
     )
diff --git a/src/components/Ecogesture/EcogestureView.spec.tsx b/src/components/Ecogesture/EcogestureView.spec.tsx
index 540542538dedfea2d4d7b20d3eb3d55c108e7a26..96898cfc97a37e00150ae217b7cdf76fb7fe540c 100644
--- a/src/components/Ecogesture/EcogestureView.spec.tsx
+++ b/src/components/Ecogesture/EcogestureView.spec.tsx
@@ -9,13 +9,13 @@ import {
 } from '../../../tests/__mocks__/store'
 import EcogestureView from 'components/Ecogesture/EcogestureView'
 import { IconButton, Tab } from '@material-ui/core'
-import { act } from 'react-dom/test-utils'
 import toJson from 'enzyme-to-json'
 import EcogestureInitModal from './EcogestureInitModal'
 import { ecogesturesData } from '../../../tests/__mocks__/ecogesturesData.mock'
 import { Season } from 'enum/ecogesture.enum'
 import EcogestureEmptyList from './EcogestureEmptyList'
 import * as profileActions from 'store/profile/profile.actions'
+import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => {
   return {
@@ -92,10 +92,8 @@ describe('EcogestureView component', () => {
         <EcogestureView />
       </Provider>
     )
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
+
     expect(wrapper.find(Tab).length).toBe(3)
     expect(toJson(wrapper)).toMatchSnapshot()
   })
@@ -114,19 +112,15 @@ describe('EcogestureView component', () => {
         <EcogestureView />
       </Provider>
     )
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
+
     expect(wrapper.find(EcogestureInitModal).exists()).toBeTruthy()
     wrapper
       .find(IconButton)
       .first()
       .simulate('click')
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
+
     expect(updateProfileSpy).toHaveBeenCalledWith({
       haveSeenEcogestureModal: true,
     })
@@ -145,10 +139,8 @@ describe('EcogestureView component', () => {
         <EcogestureView />
       </Provider>
     )
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
+
     expect(wrapper.find(EcogestureEmptyList).exists()).toBeTruthy()
   })
   it('should change tab', async () => {
@@ -164,20 +156,16 @@ describe('EcogestureView component', () => {
         <EcogestureView />
       </Provider>
     )
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
+
     wrapper
       .find(Tab)
       .first()
       .simulate('click')
     mockgetAllEcogestures.mockResolvedValueOnce([])
 
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
+
     expect(wrapper.find(EcogestureEmptyList).exists()).toBeTruthy()
   })
 })
diff --git a/src/components/Ecogesture/SingleEcogesture.spec.tsx b/src/components/Ecogesture/SingleEcogesture.spec.tsx
index 4d3babb776a228d35f0276a80d230ef7f6cd631e..8f45017fcaf5eb431b6a1d88e135d84c4bdc2df0 100644
--- a/src/components/Ecogesture/SingleEcogesture.spec.tsx
+++ b/src/components/Ecogesture/SingleEcogesture.spec.tsx
@@ -4,12 +4,11 @@ import { mount } from 'enzyme'
 import { Provider } from 'react-redux'
 import SingleEcogesture from 'components/Ecogesture/SingleEcogesture'
 import toJson from 'enzyme-to-json'
-import { act } from 'react-dom/test-utils'
 import { challengeStateData } from '../../../tests/__mocks__/challengeStateData.mock'
 import { ecogesturesData } from '../../../tests/__mocks__/ecogesturesData.mock'
 import configureStore from 'redux-mock-store'
 import { globalStateData } from '../../../tests/__mocks__/globalStateData.mock'
-import { EcogestureStatus } from 'enum/ecogesture.enum'
+import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => {
   return {
@@ -70,15 +69,13 @@ describe('SingleEcogesture component', () => {
       <Provider store={store}>
         <SingleEcogesture
           match={{
-            params: { id: 'ECOGESTURE0001', tab: EcogestureStatus.ALL },
+            params: { id: 'ECOGESTURE0001' },
           }}
         />
       </Provider>
     )
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
+
     expect(toJson(wrapper)).toMatchSnapshot()
   })
   it('should change doing status', async () => {
@@ -97,24 +94,19 @@ describe('SingleEcogesture component', () => {
       <Provider store={store}>
         <SingleEcogesture
           match={{
-            params: { id: 'ECOGESTURE0001', tab: EcogestureStatus.ALL },
+            params: { id: 'ECOGESTURE0001' },
           }}
         />
       </Provider>
     )
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
 
     wrapper
       .find('.doing-btn')
       .first()
       .simulate('click')
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
+
     expect(mockupdateEcogesture).toHaveBeenCalledWith(updatedEcogesture)
   })
   it('should change objective status', async () => {
@@ -134,23 +126,18 @@ describe('SingleEcogesture component', () => {
       <Provider store={store}>
         <SingleEcogesture
           match={{
-            params: { id: 'ECOGESTURE0001', tab: EcogestureStatus.ALL },
+            params: { id: 'ECOGESTURE0001' },
           }}
         />
       </Provider>
     )
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
+
     wrapper
       .find('.objective-btn')
       .first()
       .simulate('click')
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
     expect(mockupdateEcogesture).toHaveBeenCalledWith(updatedEcogesture)
   })
   it('should toggle more details', async () => {
@@ -168,23 +155,19 @@ describe('SingleEcogesture component', () => {
       <Provider store={store}>
         <SingleEcogesture
           match={{
-            params: { id: 'ECOGESTURE0001', tab: EcogestureStatus.ALL },
+            params: { id: 'ECOGESTURE0001' },
           }}
         />
       </Provider>
     )
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
+
     wrapper
       .find('.toggle-text')
       .first()
       .simulate('click')
-    await act(async () => {
-      await new Promise(resolve => setTimeout(resolve))
-      wrapper.update()
-    })
+    await waitForComponentToPaint(wrapper)
+
     expect(wrapper.find('.toggle-text').text()).toBe(
       'ecogesture_modal.show_less'
     )
diff --git a/src/components/Ecogesture/__snapshots__/EcogestureCard.spec.tsx.snap b/src/components/Ecogesture/__snapshots__/EcogestureCard.spec.tsx.snap
index 40c4853f746a40ff1ca2ae195515dd64628f34fc..67d64db1063b18850e5fae93aaf9785652fb26be 100644
--- a/src/components/Ecogesture/__snapshots__/EcogestureCard.spec.tsx.snap
+++ b/src/components/Ecogesture/__snapshots__/EcogestureCard.spec.tsx.snap
@@ -37,7 +37,6 @@ exports[`EcogestureCard component should be rendered correctly 1`] = `
       }
     >
       <EcogestureCard
-        currentTab={1}
         ecogesture={
           Object {
             "_id": "ECOGESTURE001",
diff --git a/src/components/Ecogesture/__snapshots__/EcogestureList.spec.tsx.snap b/src/components/Ecogesture/__snapshots__/EcogestureList.spec.tsx.snap
index 8af326e0980514a00790b7d67453932c2616e754..5bd3246cad019983124174b143d715035d9491a3 100644
--- a/src/components/Ecogesture/__snapshots__/EcogestureList.spec.tsx.snap
+++ b/src/components/Ecogesture/__snapshots__/EcogestureList.spec.tsx.snap
@@ -37,7 +37,6 @@ exports[`EcogesturesList component should be rendered correctly 1`] = `
       }
     >
       <EcogestureList
-        currentTab={2}
         list={
           Array [
             Object {
diff --git a/src/components/Ecogesture/__snapshots__/SingleEcogesture.spec.tsx.snap b/src/components/Ecogesture/__snapshots__/SingleEcogesture.spec.tsx.snap
index 7ff8505b761562b770f5f85ead3419df4617b0b0..52ff638316feb318e17e07f0229cb3a3c06cb696 100644
--- a/src/components/Ecogesture/__snapshots__/SingleEcogesture.spec.tsx.snap
+++ b/src/components/Ecogesture/__snapshots__/SingleEcogesture.spec.tsx.snap
@@ -18,7 +18,6 @@ exports[`SingleEcogesture component should be rendered correctly 1`] = `
       Object {
         "params": Object {
           "id": "ECOGESTURE0001",
-          "tab": 2,
         },
       }
     }