]> git.openstreetmap.org Git - rails.git/blob - test/lib/nominatim_test.rb
Merge remote-tracking branch 'upstream/pull/4974'
[rails.git] / test / lib / nominatim_test.rb
1 require "test_helper"
2
3 class NominatimTest < ActiveSupport::TestCase
4   def test_describe_location
5     stub_request(:get, %r{^https://nominatim\.example\.com/reverse\?})
6       .to_return(:body => "<reversegeocode><result>Target location</result></reversegeocode>")
7
8     with_settings(:nominatim_url => "https://nominatim.example.com/",
9                   :server_url => "osm-website.example.com") do
10       location = Nominatim.describe_location(60, 30, 10, "en")
11       assert_equal "Target location", location
12     end
13
14     assert_requested :get, "https://nominatim.example.com/reverse?lat=60&lon=30&zoom=10&accept-language=en",
15                      :headers => { "User-Agent" => "osm-website.example.com" }
16   end
17
18   def test_describe_location_no_result
19     stub_request(:get, %r{^https://nominatim\.example\.com/reverse\?})
20       .to_return(:body => "<reversegeocode><error>Unable to geocode</error></reversegeocode>")
21
22     with_settings(:nominatim_url => "https://nominatim.example.com/",
23                   :server_url => "osm-website.example.com") do
24       location = Nominatim.describe_location(1, 2, 14, "en")
25       assert_equal "1.000, 2.000", location
26     end
27
28     assert_requested :get, "https://nominatim.example.com/reverse?lat=1&lon=2&zoom=14&accept-language=en",
29                      :headers => { "User-Agent" => "osm-website.example.com" }
30   end
31 end