Quiero simular la API de Google Maps que estoy usando con el paquete @googlemaps/js-api-loader.
Por ahora, necesito asegurarme de que se haya llamado al geocodificador y estoy tratando de hacerlo de la siguiente manera:
const mockGeocoder = jest.fn(); jest.mock('google.maps.Geocoder', () => () => ({ geocoder: mockGeocoder, }));pero lo consigo
Cannot find module 'google.maps.Geocoder' from 'tests/unit/usecases/maps/getPlaceByAddress.spec.ts' 3 | const mockGeocoder = jest.fn(); 4 | > 5 | jest.mock('google.maps.Geocoder', () => () => ({No estoy seguro de como proceder. Puede alguien ayudarme con esto?
Consulte el paquete https://www.npmjs.com/package/@googlemaps/jest-mocks para ver simulacros y ejemplos. No estoy seguro de si Geocoder tiene un simulacro, pero debería ser posible seguir el patrón allí (y enviar un pr).
De hecho, lo encontré en Stackoverflow. No sé por qué ayer Google no me recomendó esto.
Aquí es donde encontré la respuesta.
Así que hice lo siguiente:
const setupGoogleMock = () => { global.window.google = { maps: { Geocoder: jest.fn(() => ({ geocode: mockGeocoder, })), GeocoderStatus: { ERROR: 'ERROR', INVALID_REQUEST: 'INVALID_REQUEST', OK: 'OK', OVER_QUERY_LIMIT: 'OVER_QUERY_LIMIT', REQUEST_DENIED: 'REQUEST_DENIED', UNKNOWN_ERROR: 'UNKNOWN_ERROR', ZERO_RESULTS: 'ZERO_RESULTS', }, } as any, }; }; y luego beforeAll(() => { setupGoogleMock(); });