Estoy tratando de lograr una cobertura de código del 100% escribiendo todas las pruebas unitarias posibles para mi acción. El siguiente es mi código de acción.
export const getData = async ( requestUUID: string, dispatch?: (type?: { type: string, payload?: unknown }) => { type: string, payload?: unknown, } ): Promise<Cart> => { const url = `${getApiUrl()}${API_V1_CART}`; dispatch({ type: GET_REQUEST }); try { const result = await apiCall( { method: "GET", withCredentials: true, url, timeout: 1000, }, dispatch, requestUUID ); dispatch({ type: GET_SUCCESS, payload: result }); return result; } catch (e) { dispatch({ type: GET_FAILED, payload: e }); return e; } };He escrito una prueba unitaria para lo anterior como acción de la siguiente manera
describe('getData', () => { describe('success', () => { let result; const mockDispatch = jest.fn(); const mockData = {}; beforeAll(async () => { (apiCall as jest.Mock).mockResolvedValueOnce(mockData); result = await getBasketData('uuid', mockDispatch); }); it('should call the correct api', () => { expect(apiCall).toHaveBeenCalledWith( { method: 'GET', timeout: 1000, url: 'http://localhost/api/v1/data', withCredentials: true, }, mockDispatch, 'uuid', ); }); it('should return the correct result', () => { expect(result).toEqual(mockData); }); }); });Esta prueba solo cubre el 77,78% de la cobertura del código. ¿Cuáles son las otras pruebas que puedo escribir para lograr una cobertura de código del 100 %?
Puede escribir prueba para el bloque catch.