diff --git a/src/components/EcogestureSelection/EcogestureSelectionView.tsx b/src/components/EcogestureSelection/EcogestureSelectionView.tsx index bab8b655bdafe7fa35c090c19b94cb5ea4bc9ce2..caee2255dc9aad60665f5d18439b2ec41087da4e 100644 --- a/src/components/EcogestureSelection/EcogestureSelectionView.tsx +++ b/src/components/EcogestureSelection/EcogestureSelectionView.tsx @@ -45,14 +45,13 @@ const EcogestureSelectionView = () => { const validateChoice = useCallback( async (objective: boolean, doing: boolean) => { - const updatedEcogesture: Ecogesture = - await ecogestureService.updateEcogesture({ - ...ecogestureList[indexEcogesture], - objective: objective, - doing: doing, - viewedInSelection: true, - }) - const updatedList: Ecogesture[] = ecogestureList + const updatedEcogesture = await ecogestureService.updateEcogesture({ + ...ecogestureList[indexEcogesture], + objective: objective, + doing: doing, + viewedInSelection: true, + }) + const updatedList = ecogestureList updatedList[indexEcogesture] = updatedEcogesture setEcogestureList(updatedList) setIndexEcogesture(prev => prev + 1) @@ -62,10 +61,10 @@ const EcogestureSelectionView = () => { const restartSelection = useCallback(async () => { setIsLoading(true) - const availableList: Ecogesture[] = + const availableList = await ecogestureService.getEcogestureListByProfile(profileEcogesture) - const filteredList: Ecogesture[] = availableList.filter( - (ecogesture: Ecogesture) => ecogesture.viewedInSelection === false + const filteredList = availableList.filter( + ecogesture => ecogesture.viewedInSelection === false ) const slicedFilteredList = filteredList.slice(0, 10) setTotalViewed(availableList.length - filteredList.length) @@ -77,10 +76,10 @@ const EcogestureSelectionView = () => { useEffect(() => { let subscribed = true async function getFilteredList() { - const availableList: Ecogesture[] = + const availableList = await ecogestureService.getEcogestureListByProfile(profileEcogesture) - const filteredList: Ecogesture[] = availableList.filter( - (ecogesture: Ecogesture) => ecogesture.viewedInSelection === false + const filteredList = availableList.filter( + ecogesture => ecogesture.viewedInSelection === false ) const slicedFilteredList = filteredList.slice(0, 10) if (subscribed) { diff --git a/src/components/Header/Header.spec.tsx b/src/components/Header/Header.spec.tsx index d76305f56773119682e4e2174a3952d2363e121e..89b692b1ecb1ad9c3d31fa3b99514bbabb4c0b4d 100644 --- a/src/components/Header/Header.spec.tsx +++ b/src/components/Header/Header.spec.tsx @@ -17,7 +17,7 @@ describe('Header component', () => { it('should be rendered correctly', () => { const { container } = render( <Provider store={store}> - <Header setHeaderHeight={jest.fn()} desktopTitleKey="mockKey" /> + <Header desktopTitleKey="mockKey" /> </Provider> ) expect(container).toMatchSnapshot() @@ -28,11 +28,7 @@ describe('Header component', () => { const key = 'titleKey' render( <Provider store={store}> - <Header - desktopTitleKey={key} - displayBackArrow={true} - setHeaderHeight={jest.fn()} - /> + <Header desktopTitleKey={key} displayBackArrow={true} /> </Provider> ) expect(screen.getByText(key)).toBeInTheDocument() @@ -43,11 +39,7 @@ describe('Header component', () => { it('should NOT display back button when displayBackArrow is false', async () => { render( <Provider store={store}> - <Header - desktopTitleKey="test" - displayBackArrow={false} - setHeaderHeight={jest.fn()} - /> + <Header desktopTitleKey="test" displayBackArrow={false} /> </Provider> ) expect( @@ -61,11 +53,7 @@ describe('Header component', () => { it('should call navigate -1 when back button is clicked with NO back fn', async () => { render( <Provider store={store}> - <Header - desktopTitleKey="KEY" - displayBackArrow={true} - setHeaderHeight={jest.fn()} - /> + <Header desktopTitleKey="KEY" displayBackArrow={true} /> </Provider> ) await userEvent.click(screen.getAllByRole('button')[0]) @@ -78,7 +66,6 @@ describe('Header component', () => { <Header desktopTitleKey="KEY" displayBackArrow={true} - setHeaderHeight={jest.fn()} backFunction={mockBack} /> </Provider> @@ -91,7 +78,7 @@ describe('Header component', () => { it('should call handleClickFeedbacks when feedback button is clicked', async () => { render( <Provider store={store}> - <Header setHeaderHeight={jest.fn()} desktopTitleKey="mockKey" /> + <Header desktopTitleKey="mockKey" /> </Provider> ) const updateModalSpy = jest.spyOn(ModalAction, 'openFeedbackModal') diff --git a/src/services/action.service.ts b/src/services/action.service.ts index cf27a1fa83e416d012f2a13b6184551d973c78dd..644197d670f148d9f95189f18b40fdf3e03d2ec6 100644 --- a/src/services/action.service.ts +++ b/src/services/action.service.ts @@ -29,8 +29,7 @@ export default class ActionService { public async getAvailableActionList(): Promise<Ecogesture[]> { const userChallenges: UserChallenge[] = await this._challengeService.getAllUserChallengeEntities() - const ecogestures: Ecogesture[] = - await this._ecogestureService.getAllEcogestures() + const ecogestures = await this._ecogestureService.getAllEcogestures() const actionsListIds: string[] = ecogestures .filter(ecogesture => ecogesture.action === true) .map(action => action._id) @@ -48,7 +47,7 @@ export default class ActionService { } }) } - const actionsList: Ecogesture[] = + const actionsList = await this._ecogestureService.getEcogesturesByIds(actionsListIds) return actionsList } @@ -67,7 +66,7 @@ export default class ActionService { public async keepListComplete( actionList: Ecogesture[] ): Promise<Ecogesture[]> { - const defaultActions: Ecogesture[] = await this.getDefaultActions() + const defaultActions = await this.getDefaultActions() let i = 0 while (actionList.length < 3) { actionList.push(defaultActions[i]) @@ -125,11 +124,11 @@ export default class ActionService { public async getCustomActions( connectedFluids: FluidType[] ): Promise<Ecogesture[]> { - const availableActions: Ecogesture[] = await this.getAvailableActionList() - const filteredByFluid: Ecogesture[] = availableActions.filter(action => + const availableActions = await this.getAvailableActionList() + const filteredByFluid = availableActions.filter(action => action.fluidTypes.some(fluid => connectedFluids.includes(fluid)) ) - let filteredBySeason: Ecogesture[] = this.filterBySeason(filteredByFluid) + let filteredBySeason = this.filterBySeason(filteredByFluid) if (filteredBySeason.length > 3) { filteredBySeason = filteredBySeason.slice(0, 3) @@ -137,7 +136,7 @@ export default class ActionService { filteredBySeason = await this.keepListComplete(filteredBySeason) } - const sortedByDifficultyAndEfficiency: Ecogesture[] = orderBy( + const sortedByDifficultyAndEfficiency = orderBy( filteredBySeason, [ action => { diff --git a/src/services/ecogesture.service.ts b/src/services/ecogesture.service.ts index 4f56d58fdfa0a4052b71d124bb97f3c75621cb9a..7faee66f184661836d3f70cfcb2c5ed458910857 100644 --- a/src/services/ecogesture.service.ts +++ b/src/services/ecogesture.service.ts @@ -212,7 +212,7 @@ export default class EcogestureService { ecogestureList: Ecogesture[], profileEcogesture: ProfileEcogesture ): Ecogesture[] { - const filteredByUsage: Ecogesture[] = ecogestureList.filter(ecogesture => { + const filteredByUsage = ecogestureList.filter(ecogesture => { switch (ecogesture.usage) { case Usage.HEATING: if ( @@ -271,23 +271,23 @@ export default class EcogestureService { public async getEcogestureListByProfile( profileEcogesture: ProfileEcogesture ): Promise<Ecogesture[]> { - const ecogestureList: Ecogesture[] = await this.getAllEcogestures() - const filteredByUsage: Ecogesture[] = this.filterByUsage( + const ecogestureList = await this.getAllEcogestures() + const filteredByUsage = this.filterByUsage( ecogestureList, profileEcogesture ) - const filteredByEquipment: Ecogesture[] = this.filterByEquipment( + const filteredByEquipment = this.filterByEquipment( filteredByUsage, profileEcogesture ) - const filteredFlaggedEcogesture: Ecogesture[] = filteredByEquipment.filter( - (ecogesture: Ecogesture) => + const filteredFlaggedEcogesture = filteredByEquipment.filter( + ecogesture => (ecogesture.objective === false && ecogesture.doing === false && ecogesture.viewedInSelection === false) || ecogesture.viewedInSelection === true ) - const sortedByDifficultyAndEfficiency: Ecogesture[] = orderBy( + const sortedByDifficultyAndEfficiency = orderBy( filteredFlaggedEcogesture, [ ecogesture => {