Заглушка прикованная функция в testdouble

Я использую пакет GoogleMaps, и вот как выглядит функция, которую я хочу заглушки

   let places = await googleMaps.placesNearby({
        location: data.coordinates,
        radius: data.radius,
        keyword: data.keyword
      }).asPromise()

И вот как я пытаюсь заглушить это

 beforeEach(() => {
      td.replace(googleMaps, 'placesNearby')
      td.when(googleMaps.placesNearby(td.matchers.anything())).thenReturn([[], ''])
      return PlaceService.searchForPlaces({'coordinates': [-7.7797637, 110.3888081], 'keyword': 'sushi', 'radius': 500}, fakeUser.id).then(r => result = r)
    })

Я получаю следующую ошибку

TypeError: googleMaps.placesNearby(...).asPromise is not a function

добавление.asPromise() внутри td.when не решит проблему и не выдаст другое сообщение об ошибке

TypeError: Cannot read property 'asPromise' of undefined
    at Context.beforeEach (F:/Bibimapp/test/services/placeService.spec.js:192:15)

И я не могу заглушить googleMaps.placesNearby, потому что это функция, а не объект.

0 ответов

Другие вопросы по тегам