From 8c50884abd9873ba9c613e617c807326929663d5 Mon Sep 17 00:00:00 2001 From: Joao Pedro Prudencio Date: Sun, 8 Oct 2023 20:20:23 -0300 Subject: [PATCH] fix: change methods to test get user data hook --- .../UserService/__tests__/UserService.test.ts | 12 ++++++++++-- .../Post/usePostList/__tests__/usePostList.test.ts | 2 +- src/useCases/Post/usePostList/usePostList.tsx | 2 -- .../useGetUserData/__tests__/useGetUserData.test.ts | 8 +++++--- src/useCases/User/useGetUserData/useGetUserData.tsx | 6 ++---- 5 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/services/UserService/__tests__/UserService.test.ts b/src/services/UserService/__tests__/UserService.test.ts index ca0e395..7f19701 100644 --- a/src/services/UserService/__tests__/UserService.test.ts +++ b/src/services/UserService/__tests__/UserService.test.ts @@ -1,11 +1,19 @@ +import {act, mockUser} from '@tests'; + import {UserService} from '../UserService'; describe('UserService', () => { describe('Me method', () => { it('should be able to return the user data', async () => { - const userResponse = await UserService().me(); + const {me} = UserService(); + + let userResponse; + + await act(async () => { + userResponse = await me(); + }); - expect(userResponse).toEqual(userResponse); + expect(userResponse).toEqual(mockUser); }); it.todo('should throw an error when the request fails'); diff --git a/src/useCases/Post/usePostList/__tests__/usePostList.test.ts b/src/useCases/Post/usePostList/__tests__/usePostList.test.ts index 1d8707d..34ea452 100644 --- a/src/useCases/Post/usePostList/__tests__/usePostList.test.ts +++ b/src/useCases/Post/usePostList/__tests__/usePostList.test.ts @@ -17,7 +17,7 @@ describe('UsePostList', () => { }); const {postList, isLoading, error} = result.current; - expect(fetchDataMock).toHaveBeenCalledTimes(1); + expect(postList).toEqual(mockPostList); expect(isLoading).toBe(false); expect(error).toBe(false); diff --git a/src/useCases/Post/usePostList/usePostList.tsx b/src/useCases/Post/usePostList/usePostList.tsx index 10c5f5c..93ce838 100644 --- a/src/useCases/Post/usePostList/usePostList.tsx +++ b/src/useCases/Post/usePostList/usePostList.tsx @@ -4,8 +4,6 @@ import {PostService} from '@services'; import {PostProps} from '@types'; export function usePostList() { - // const {listAll} = PostService(); - const [postList, setPostList] = useState([]); const [isLoading, setIsLoading] = useState(true); const [error, setError] = useState(false); diff --git a/src/useCases/User/useGetUserData/__tests__/useGetUserData.test.ts b/src/useCases/User/useGetUserData/__tests__/useGetUserData.test.ts index 2fc75e2..31b31de 100644 --- a/src/useCases/User/useGetUserData/__tests__/useGetUserData.test.ts +++ b/src/useCases/User/useGetUserData/__tests__/useGetUserData.test.ts @@ -6,17 +6,19 @@ describe('UseGetUserData', () => { it('should seek user data and update correct states', async () => { const {result} = renderHook(() => useGetUserData()); + const fetchUserDataMock = jest.spyOn(result.current, 'getUserData'); + await act(async () => { await result.current.getUserData(); }); - waitFor(() => { - expect(result.current.getUserData).toHaveBeenCalledTimes(1); + await waitFor(() => { + expect(fetchUserDataMock).toHaveBeenCalledTimes(1); }); const {userData, isLoading, error} = result.current; - expect(userData).toEqual(mockUser); // Verifica a igualdade entre userData e mockUser + expect(userData).toEqual(mockUser); expect(isLoading).toBe(false); expect(error).toBe(false); }); diff --git a/src/useCases/User/useGetUserData/useGetUserData.tsx b/src/useCases/User/useGetUserData/useGetUserData.tsx index 3f2adba..7350f11 100644 --- a/src/useCases/User/useGetUserData/useGetUserData.tsx +++ b/src/useCases/User/useGetUserData/useGetUserData.tsx @@ -1,10 +1,8 @@ import {useCallback, useEffect, useState} from 'react'; -import UserService from '../../../services/UserService/UserService'; +import {UserService} from '@services'; export function useGetUserData() { - // const {me} = UserService(); - const [userData, setUserData] = useState({} as any); const [isLoading, setIsLoading] = useState(false); const [error, setError] = useState(false); @@ -13,7 +11,7 @@ export function useGetUserData() { try { setIsLoading(true); - const response = await UserService.me(); + const response = await UserService().me(); setUserData(response); } catch (erro) {