La prueba debe verificar si se está llamando a inbox.get con la identificación de usuario actual 12345 para currentuser criterios de filtro de usuario actual.
Cuando ejecuto las pruebas, no puedo ingresar return(dispatch, getstate) , de los dos registros de la consola que agregué aquí solo Console.log(--------test 1-----------) se está imprimiendo. El segundo no lo es. Así que estoy pensando que el problema es cómo me burlo de dispatch y getState .
Código:
function loadInboxSummary(paginationOffset) Console.log(--------test 1-----------); {return (dispatch, getState) => { Console.log(--------testing inside 2 ---------); const state = getState(); const userId = getCurrentUserId(state); const filterCriteria = getCurrentFilter(state); const adjustedInboxViewFilter = { ...filterCriteria, assignedUserIds: mapCurrentAssignee(userId), }; return InboxItems.get( userId, adjustedInboxViewFilter, paginationOffset, ) ................Probando cuando se llama a InboxItems.get(..), tiene parámetros correctos para addedInboxView.
Prueba:
describe("loadInboxSummary", () => { const dispatch = jest.fn(); const getState = jest.fn().mockReturnValue("mock_state"); beforeEach(() => { jest.spyOn(getCurrentUserDetails, "getCurrentUserId").mockReturnValue("12345"); jest.spyOn(getCurrentFilter, "default").mockReturnValue({assignedUserIds: ["currentUser"]}); jest.spyOn(InboxItems, "get").mockResolvedValue({}); }); it("calls InboxItems.get with current user id", () => { loadInboxSummary("mock_pagination")(dispatch, getState); const adjustedFilters = { assignedUserIds: ["12345"], }; expect(InboxItems.get).toHaveBeenCalledWith( "12345", adjustedFilters, "mock_pagination", ); }); }); Error: expect(jest.fn()).toHaveBeenCalledWith(...expected) Expected: "12345", {"assignedUserIds": ["12345"]}, "mock_pagination" Number of calls: 0Esta es la primera vez que hago una prueba de front-end, busqué el desbordamiento de pila para posibles soluciones, pero se veían bastante diferentes/tenían funciones asíncronas, por lo que no pude entenderlas. Realmente agradecería algo de ayuda. No estoy seguro de qué podría estar causando este error, así que no dude en hacer preguntas.