]> git.openstreetmap.org Git - rails.git/commitdiff
Added unit tests
authormmd-osm <mmd.osm@gmail.com>
Wed, 8 Jan 2020 17:49:45 +0000 (18:49 +0100)
committermmd-osm <mmd.osm@gmail.com>
Wed, 8 Jan 2020 18:57:21 +0000 (19:57 +0100)
test/controllers/api/nodes_controller_test.rb
test/controllers/api/old_nodes_controller_test.rb
test/controllers/api/old_relations_controller_test.rb
test/controllers/api/old_ways_controller_test.rb
test/controllers/api/relations_controller_test.rb
test/controllers/api/ways_controller_test.rb

index aee41d51548e788bc6d6f389750f891025f8510f..e2174a12603c2400c2a248c3d407bf34ef938430 100644 (file)
@@ -13,6 +13,10 @@ module Api
         { :path => "/api/0.6/node/1", :method => :get },
         { :controller => "api/nodes", :action => "show", :id => "1" }
       )
+      assert_routing(
+        { :path => "/api/0.6/node/1.json", :method => :get },
+        { :controller => "api/nodes", :action => "show", :id => "1", :format => "json" }
+      )
       assert_routing(
         { :path => "/api/0.6/node/1", :method => :put },
         { :controller => "api/nodes", :action => "update", :id => "1" }
@@ -25,6 +29,10 @@ module Api
         { :path => "/api/0.6/nodes", :method => :get },
         { :controller => "api/nodes", :action => "index" }
       )
+      assert_routing(
+        { :path => "/api/0.6/nodes.json", :method => :get },
+        { :controller => "api/nodes", :action => "index", :format => "json" }
+      )
     end
 
     def test_create
@@ -464,6 +472,19 @@ module Api
         assert_select "node[id='#{node5.id}'][visible='false']", :count => 1
       end
 
+      # test a working call with json format
+      get :index, :params => { :nodes => "#{node1.id},#{node2.id},#{node3.id},#{node4.id},#{node5.id}", :format => "json" }
+
+      js = ActiveSupport::JSON.decode(@response.body)
+      assert_not_nil js
+      assert_equal 5, js["elements"].count
+      assert_equal 5, (js["elements"].count { |a| a["type"] == "node" })
+      assert_equal 1, (js["elements"].count { |a| a["id"] == node1.id && a["visible"].nil? })
+      assert_equal 1, (js["elements"].count { |a| a["id"] == node2.id && a["visible"] == false })
+      assert_equal 1, (js["elements"].count { |a| a["id"] == node3.id && a["visible"].nil? })
+      assert_equal 1, (js["elements"].count { |a| a["id"] == node4.id && a["visible"].nil? })
+      assert_equal 1, (js["elements"].count { |a| a["id"] == node5.id && a["visible"] == false })
+
       # check error when a non-existent node is included
       get :index, :params => { :nodes => "#{node1.id},#{node2.id},#{node3.id},#{node4.id},#{node5.id},0" }
       assert_response :not_found
index 941787d0a2872ddd39d31693cadfb2f40c67c580..76e78ffadaa47b8df30cfe495d40f34d2429e57c 100644 (file)
@@ -17,6 +17,14 @@ module Api
         { :path => "/api/0.6/node/1/2", :method => :get },
         { :controller => "api/old_nodes", :action => "version", :id => "1", :version => "2" }
       )
+      assert_routing(
+        { :path => "/api/0.6/node/1/history.json", :method => :get },
+        { :controller => "api/old_nodes", :action => "history", :id => "1", :format => "json" }
+      )
+      assert_routing(
+        { :path => "/api/0.6/node/1/2.json", :method => :get },
+        { :controller => "api/old_nodes", :action => "version", :id => "1", :version => "2", :format => "json" }
+      )
       assert_routing(
         { :path => "/api/0.6/node/1/2/redact", :method => :post },
         { :controller => "api/old_nodes", :action => "redact", :id => "1", :version => "2" }
index 40a80248c3f995aa5a1e36a2f963f72590cea51f..19e8ae357ef10d7ac2691be0ec0b4ff21f4c93e9 100644 (file)
@@ -13,6 +13,14 @@ module Api
         { :path => "/api/0.6/relation/1/2", :method => :get },
         { :controller => "api/old_relations", :action => "version", :id => "1", :version => "2" }
       )
+      assert_routing(
+        { :path => "/api/0.6/relation/1/history.json", :method => :get },
+        { :controller => "api/old_relations", :action => "history", :id => "1", :format => "json" }
+      )
+      assert_routing(
+        { :path => "/api/0.6/relation/1/2.json", :method => :get },
+        { :controller => "api/old_relations", :action => "version", :id => "1", :version => "2", :format => "json" }
+      )
       assert_routing(
         { :path => "/api/0.6/relation/1/2/redact", :method => :post },
         { :controller => "api/old_relations", :action => "redact", :id => "1", :version => "2" }
index 73e968f3095c11f569fc8016b453407cc683d336..cd676a960f945fa99801b9070b6b505c38f13c46 100644 (file)
@@ -13,6 +13,14 @@ module Api
         { :path => "/api/0.6/way/1/2", :method => :get },
         { :controller => "api/old_ways", :action => "version", :id => "1", :version => "2" }
       )
+      assert_routing(
+        { :path => "/api/0.6/way/1/history.json", :method => :get },
+        { :controller => "api/old_ways", :action => "history", :id => "1", :format => "json" }
+      )
+      assert_routing(
+        { :path => "/api/0.6/way/1/2.json", :method => :get },
+        { :controller => "api/old_ways", :action => "version", :id => "1", :version => "2", :format => "json" }
+      )
       assert_routing(
         { :path => "/api/0.6/way/1/2/redact", :method => :post },
         { :controller => "api/old_ways", :action => "redact", :id => "1", :version => "2" }
index b7c17a176485f3a448539e16cc23a3898b7c13a4..da18099bda33d5aa10b05a6b569b9da255c5de09 100644 (file)
@@ -13,10 +13,18 @@ module Api
         { :path => "/api/0.6/relation/1/full", :method => :get },
         { :controller => "api/relations", :action => "full", :id => "1" }
       )
+      assert_routing(
+        { :path => "/api/0.6/relation/1/full.json", :method => :get },
+        { :controller => "api/relations", :action => "full", :id => "1", :format => "json" }
+      )
       assert_routing(
         { :path => "/api/0.6/relation/1", :method => :get },
         { :controller => "api/relations", :action => "show", :id => "1" }
       )
+      assert_routing(
+        { :path => "/api/0.6/relation/1.json", :method => :get },
+        { :controller => "api/relations", :action => "show", :id => "1", :format => "json" }
+      )
       assert_routing(
         { :path => "/api/0.6/relation/1", :method => :put },
         { :controller => "api/relations", :action => "update", :id => "1" }
@@ -29,6 +37,10 @@ module Api
         { :path => "/api/0.6/relations", :method => :get },
         { :controller => "api/relations", :action => "index" }
       )
+      assert_routing(
+        { :path => "/api/0.6/relations.json", :method => :get },
+        { :controller => "api/relations", :action => "index", :format => "json" }
+      )
 
       assert_routing(
         { :path => "/api/0.6/node/1/relations", :method => :get },
@@ -42,6 +54,18 @@ module Api
         { :path => "/api/0.6/relation/1/relations", :method => :get },
         { :controller => "api/relations", :action => "relations_for_relation", :id => "1" }
       )
+      assert_routing(
+        { :path => "/api/0.6/node/1/relations.json", :method => :get },
+        { :controller => "api/relations", :action => "relations_for_node", :id => "1", :format => "json" }
+      )
+      assert_routing(
+        { :path => "/api/0.6/way/1/relations.json", :method => :get },
+        { :controller => "api/relations", :action => "relations_for_way", :id => "1", :format => "json" }
+      )
+      assert_routing(
+        { :path => "/api/0.6/relation/1/relations.json", :method => :get },
+        { :controller => "api/relations", :action => "relations_for_relation", :id => "1", :format => "json" }
+      )
     end
 
     # -------------------------------------
@@ -187,6 +211,18 @@ module Api
         assert_select "relation[id='#{relation4.id}'][visible='true']", :count => 1
       end
 
+      # test a working call with json format
+      get :index, :params => { :relations => "#{relation1.id},#{relation2.id},#{relation3.id},#{relation4.id}", :format => "json" }
+
+      js = ActiveSupport::JSON.decode(@response.body)
+      assert_not_nil js
+      assert_equal 4, js["elements"].count
+      assert_equal 4, (js["elements"].count { |a| a["type"] == "relation" })
+      assert_equal 1, (js["elements"].count { |a| a["id"] == relation1.id && a["visible"].nil? })
+      assert_equal 1, (js["elements"].count { |a| a["id"] == relation2.id && a["visible"] == false })
+      assert_equal 1, (js["elements"].count { |a| a["id"] == relation3.id && a["visible"].nil? })
+      assert_equal 1, (js["elements"].count { |a| a["id"] == relation4.id && a["visible"].nil? })
+
       # check error when a non-existent relation is included
       get :index, :params => { :relations => "#{relation1.id},#{relation2.id},#{relation3.id},#{relation4.id},0" }
       assert_response :not_found
index 433b43f27cbea7d63e10306f03573ab54dfe31cf..e4b9f36632952ac32839296dd5ff90fe5135a157 100644 (file)
@@ -13,10 +13,18 @@ module Api
         { :path => "/api/0.6/way/1/full", :method => :get },
         { :controller => "api/ways", :action => "full", :id => "1" }
       )
+      assert_routing(
+        { :path => "/api/0.6/way/1/full.json", :method => :get },
+        { :controller => "api/ways", :action => "full", :id => "1", :format => "json" }
+      )
       assert_routing(
         { :path => "/api/0.6/way/1", :method => :get },
         { :controller => "api/ways", :action => "show", :id => "1" }
       )
+      assert_routing(
+        { :path => "/api/0.6/way/1.json", :method => :get },
+        { :controller => "api/ways", :action => "show", :id => "1", :format => "json" }
+      )
       assert_routing(
         { :path => "/api/0.6/way/1", :method => :put },
         { :controller => "api/ways", :action => "update", :id => "1" }
@@ -29,6 +37,10 @@ module Api
         { :path => "/api/0.6/ways", :method => :get },
         { :controller => "api/ways", :action => "index" }
       )
+      assert_routing(
+        { :path => "/api/0.6/ways.json", :method => :get },
+        { :controller => "api/ways", :action => "index", :format => "json" }
+      )
     end
 
     # -------------------------------------
@@ -104,6 +116,18 @@ module Api
         assert_select "way[id='#{way4.id}'][visible='true']", :count => 1
       end
 
+      # test a working call with json format
+      get :index, :params => { :ways => "#{way1.id},#{way2.id},#{way3.id},#{way4.id}", :format => "json" }
+
+      js = ActiveSupport::JSON.decode(@response.body)
+      assert_not_nil js
+      assert_equal 4, js["elements"].count
+      assert_equal 4, (js["elements"].count { |a| a["type"] == "way" })
+      assert_equal 1, (js["elements"].count { |a| a["id"] == way1.id && a["visible"].nil? })
+      assert_equal 1, (js["elements"].count { |a| a["id"] == way2.id && a["visible"] == false })
+      assert_equal 1, (js["elements"].count { |a| a["id"] == way3.id && a["visible"].nil? })
+      assert_equal 1, (js["elements"].count { |a| a["id"] == way4.id && a["visible"].nil? })
+
       # check error when a non-existent way is included
       get :index, :params => { :ways => "#{way1.id},#{way2.id},#{way3.id},#{way4.id},0" }
       assert_response :not_found