Estoy usando gmaps4rails e intento desarrollar algunas pruebas.¿Cómo guardar las funciones de geocodificación de gmaps4rails en las pruebas de rspec?
que tienen una fábrica
factory :country do
sequence(:name) { |n| "Country#{n}" }
end
lo que obviamente no es reconocido por Google.
Validation failed: Gmaps4rails address Address invalid
Las llamadas a API también tardan en ejecutarse en mis pruebas.
¿Cómo puedo rescindir la llamada API?
He intentado añadir
before(:each)
Country.stub(:geocode)
end
en el fichero de especificaciones pero no tiene ningún efecto.
Mi modelo se parece a esta
class Country < ActiveRecord::Base
acts_as_gmappable :lat => 'latitude', :lng => 'longitude'
def gmaps4rails_address
"#{self.name}"
end
geocoded_by :gmaps4rails_address
after_validation :geocode
end
Gracias por cualquier idea.
¿No contesta? – apneadiving
Hola apneadiving. gracias por la respuesta. Parece que la dirección inválida es una respuesta de Google. Suena bien? Entonces, ¿cómo corto la geocodificación? Estoy ejecutando una prueba única country_specs.rb, en la que tengo un before: cada bloque que contiene 'Country.stub (: geocode)'. He intentado algunas otras cosas '.stub_geocode',' .stub (: gmaps4rails) ', etc. Pero la geocodificación aún se está ejecutando. Añadiré mi código de modelo a la pregunta. Apreciar cualquier sugerencia que tengas –
proviene de la gema. Para ver el apuñalamiento, consulte aquí: https://github.com/apneadiving/Google-Maps-for-Rails/blob/master/spec/support/geocoding.rb – apneadiving