]> git.openstreetmap.org Git - rails.git/blobdiff - test/functional/changeset_controller_test.rb
Support legacy bbox param on /history as well
[rails.git] / test / functional / changeset_controller_test.rb
index 7a4d2e4f86e702ffe07f77ad4c2c4725a8eb2a04..09c31615205184ce3a230b65db39f0f8f67cb440 100644 (file)
@@ -40,40 +40,28 @@ class ChangesetControllerTest < ActionController::TestCase
       { :controller => "changeset", :action => "query" }
     )
     assert_routing(
-      { :path => "/user/name/edits", :method => :get },
+      { :path => "/user/name/history", :method => :get },
       { :controller => "changeset", :action => "list", :display_name => "name" }
     )
     assert_routing(
-      { :path => "/user/name/edits/feed", :method => :get },
-      { :controller => "changeset", :action => "feed", :display_name => "name" }
+      { :path => "/user/name/history/feed", :method => :get },
+      { :controller => "changeset", :action => "feed", :display_name => "name", :format => :atom }
     )
     assert_routing(
-      { :path => "/browse/friends", :method => :get },
+      { :path => "/history/friends", :method => :get },
       { :controller => "changeset", :action => "list", :friends => true }
     )
     assert_routing(
-      { :path => "/browse/nearby", :method => :get },
+      { :path => "/history/nearby", :method => :get },
       { :controller => "changeset", :action => "list", :nearby => true }
     )
     assert_routing(
-      { :path => "/browse/changesets", :method => :get },
+      { :path => "/history", :method => :get },
       { :controller => "changeset", :action => "list" }
     )
     assert_routing(
-      { :path => "/browse/changesets/feed", :method => :get },
-      { :controller => "changeset", :action => "feed" }
-    )
-    assert_recognizes(
-      { :controller => "changeset", :action => "list" },
-      { :path => "/browse", :method => :get }
-    )
-    assert_recognizes(
-      { :controller => "changeset", :action => "list" },
-      { :path => "/history", :method => :get }
-    )
-    assert_recognizes(
-      { :controller => "changeset", :action => "feed" },
-      { :path => "/history/feed", :method => :get }
+      { :path => "/history/feed", :method => :get },
+      { :controller => "changeset", :action => "feed", :format => :atom }
     )
   end
 
@@ -1728,14 +1716,23 @@ EOF
   ##
   # This should display the last 20 changesets closed.
   def test_list
-    changesets = Changeset.where("num_changes > 0").order(:created_at => :desc).limit(20)
-    assert changesets.size <= 20
     get :list, {:format => "html"}
     assert_response :success
+    assert_template "changeset/history"
+    assert_select "h2", :text => "Changesets", :count => 1
+
+    get :list, {:format => "html", :list => '1', :bbox => '-180,-90,90,180'}
+    assert_response :success
     assert_template "list"
+
+    changesets = Changeset.
+        where("num_changes > 0 and min_lon is not null").
+        order(:created_at => :desc).
+        limit(20)
+    assert changesets.size <= 20
+
     # Now check that all 20 (or however many were returned) changesets are in the html
-    assert_select "h1", :text => "Changesets", :count => 1
-    assert_select "div[id='changeset_list'] ul", :count => changesets.size
+    assert_select "li", :count => changesets.size
     changesets.each do |changeset|
       # FIXME this test needs rewriting - test for table contents
     end
@@ -1747,7 +1744,7 @@ EOF
     user = users(:public_user)
     get :list, {:format => "html", :display_name => user.display_name}
     assert_response :success
-    assert_template "changeset/_user"
+    assert_template "changeset/history"
     ## FIXME need to add more checks to see which if edits are actually shown if your data is public
   end
   
@@ -1781,7 +1778,8 @@ EOF
     user = users(:public_user)
     get :feed, {:format => "atom", :display_name => user.display_name}
     assert_response :success
-    assert_template "changeset/_user"
+    assert_template "changeset/list"
+    assert_equal "application/atom+xml", response.content_type
     ## FIXME need to add more checks to see which if edits are actually shown if your data is public
   end