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, }, } }