Как «смоделировать» navigato.geolocation.getCurrentposition в тесте Vue Jest - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь протестировать свой компонент Google Maps в vue, а navigator.geolocation.getCurrentPosition () находится в методе

Этот тест не пройден, распечатав это в консоли:

Ошибка: TypeError: Невозможно прочитать свойство 'getCurrentPosition' с неопределенным значением

  167 |     },
  168 |     geolocate: function() {
> 169 |       navigator.geolocation.getCurrentPosition(position => {
      | ^

Это мой код

          export default {
            name: "GoogleMap",
            data() {

            },

            created() {

            },

            mounted() {
              this.geolocate();
            },

            methods: {
              ..............
              geolocate: function() {
                navigator.geolocation.getCurrentPosition(position => {
                  this.center = {
                    lat: position.coords.latitude,
                    lng: position.coords.longitude
                  };
                });
              ...............
            },
            computed: {

            }
          };

          </script>

Я пытался смоделировать его, но у меня это не работает

    describe("Maps.vue", () => {
      it("renders ... Google maps ", () => {
        const wrapper = shallowMount(Maps, { 

           mocks : {
            getCurrentPosition:()=> jest.fn()

           },
         })
        expect().....
      })
    })

Как я могу "смоделировать" этот метод навигатора и сдать тест?

...