]> git.openstreetmap.org Git - rails.git/commitdiff
Test Nominatim.describe_location
authorAnton Khorev <tony29@yandex.ru>
Wed, 10 Jul 2024 14:08:40 +0000 (17:08 +0300)
committerAnton Khorev <tony29@yandex.ru>
Wed, 10 Jul 2024 14:41:56 +0000 (17:41 +0300)
test/lib/nominatim_test.rb [new file with mode: 0644]

diff --git a/test/lib/nominatim_test.rb b/test/lib/nominatim_test.rb
new file mode 100644 (file)
index 0000000..e7cb6fb
--- /dev/null
@@ -0,0 +1,31 @@
+require "test_helper"
+
+class NominatimTest < ActiveSupport::TestCase
+  def test_describe_location
+    stub_request(:get, %r{^https://nominatim\.example\.com/reverse\?})
+      .to_return(:body => "<reversegeocode><result>Target location</result></reversegeocode>")
+
+    with_settings(:nominatim_url => "https://nominatim.example.com/",
+                  :server_url => "osm-website.example.com") do
+      location = Nominatim.describe_location(60, 30, 10, "en")
+      assert_equal "Target location", location
+    end
+
+    assert_requested :get, "https://nominatim.example.com/reverse?lat=60&lon=30&zoom=10&accept-language=en",
+                     :headers => { "User-Agent" => "osm-website.example.com" }
+  end
+
+  def test_describe_location_no_result
+    stub_request(:get, %r{^https://nominatim\.example\.com/reverse\?})
+      .to_return(:body => "<reversegeocode><error>Unable to geocode</error></reversegeocode>")
+
+    with_settings(:nominatim_url => "https://nominatim.example.com/",
+                  :server_url => "osm-website.example.com") do
+      location = Nominatim.describe_location(1, 2, 14, "en")
+      assert_equal "1.000, 2.000", location
+    end
+
+    assert_requested :get, "https://nominatim.example.com/reverse?lat=1&lon=2&zoom=14&accept-language=en",
+                     :headers => { "User-Agent" => "osm-website.example.com" }
+  end
+end