GitHub - googlemaps/js-jest-mocks: Jest mocks for Google Maps Platform
source link: https://github.com/googlemaps/js-jest-mocks
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Jest Mocks for Google Maps
Description
Jest mocks for Google Maps in TypeScript.
Note: If you find a missing mock, please open an issue.
Available via NPM as the package @googlemaps/jest-mocks
Inspecting mocks
You can inspect what happens with the created mock instances (e.g. Map
or Marker
) via the mockInstances
object.
import { initialize, Map, Marker, mockInstances } from "@googlemaps/jest-mocks"; beforeEach(() => { initialize(); }); test("my test", () => { const map = new google.maps.Map(null); const markerOne = new google.maps.Marker(); const markerTwo = new google.maps.Marker(); map.setHeading(8); markerOne.setMap(map); markerTwo.setLabel("My marker"); const mapMocks = mockInstances.get(Map); const markerMocks = mockInstances.get(Marker); expect(mapMocks).toHaveLength(1); expect(markerMocks).toHaveLength(2); expect(mapMocks[0].setHeading).toHaveBeenCalledWith(8); expect(markerMocks[0].setMap).toHaveBeenCalledTimes(1); expect(markerMocks[1].setLabel).toHaveBeenCalledWith("My marker"); });
Cleaning up mocks
Whenever initialize()
is called, the captured mocks are automatically cleaned. Using any of Jest's methods, you can clean the mock instances at any time:
import { initialize, Map, Marker, mockInstances } from "@googlemaps/jest-mocks"; beforeAll(() => { initialize(); }); // Clear all mocks beforeEach(() => { mockInstances.clearAll(); }); // Clear specific mocks beforeEach(() => { mockInstances.clear(Map, Marker); });
Support
This library is community supported. We're comfortable enough with the stability and features of the library that we want you to build real production applications on it.
If you find a bug, or have a feature suggestion, please log an issue. If you'd like to contribute, please read How to Contribute.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK