У меня возникли проблемы с пониманием того, что нужно проверить в приведенном ниже примере и как это сделать.Как проверить метод экземпляра модели, который вызывает вызов внешнего API
У меня есть следующий метод экземпляра на адресной модели
validate :address, on: [:create, :update]
def address
check = CalendarEventLocationParsingWorker.new.perform("", self.structured, true)
if check[:code] != 0
errors.add(:base,"#{self.kind.capitalize} Address couldn't be analysed, please fill up as much fields as possible.")
else
self.lat = check[:coords]["lat"]
self.lon = check[:coords]["lng"]
end
end
В основном его метод, называемый на создание и обновление крючков и проверку с API третьей стороны, если адрес является действительным. Как я могу проверить это отдельно, не делая фактического вызова сторонней api, а скорее симулируя ответ?
Я читал о насмешках и заглушках, но я их еще не совсем понял. Любое понимание приветствуется. С помощью Rspec, помощников доски и фабричной девочки.
Эй спасибо за это , я могу обойтись без фактического запроса хотя и не один раз? –
@PetrosKyriakou Да, используйте webmock для этого –