]> git.openstreetmap.org Git - rails.git/blobdiff - test/functional/notes_controller_test.rb
Report an error if a bogus limit value is passed to a notes API call
[rails.git] / test / functional / notes_controller_test.rb
index 0b52d035e682aeb7980a19222b0b82d93ca0976c..49c3cd0edb699af6cb46cab3882cd1af5bc8d30a 100644 (file)
@@ -197,6 +197,20 @@ class NotesControllerTest < ActionController::TestCase
       end
     end
     assert_response :bad_request
+
+    assert_no_difference('Note.count') do
+      assert_no_difference('NoteComment.count') do
+        post :create, {:lat => 'abc', :lon => -1.0, :text => "This is a comment"}
+      end
+    end
+    assert_response :bad_request
+
+    assert_no_difference('Note.count') do
+      assert_no_difference('NoteComment.count') do
+        post :create, {:lat => -1.0, :lon => 'abc', :text => "This is a comment"}
+      end
+    end
+    assert_response :bad_request
   end
 
   def test_comment_success
@@ -614,6 +628,12 @@ class NotesControllerTest < ActionController::TestCase
 
     get :index, {:l => '-2.5', :b => '-2.5', :r => '2.5'}
     assert_response :bad_request
+
+    get :index, {:bbox => '1,1,1.7,1.7', :limit => '0', :format => 'json'}
+    assert_response :bad_request
+
+    get :index, {:bbox => '1,1,1.7,1.7', :limit => '10000', :format => 'json'}
+    assert_response :bad_request
   end
 
   def test_search_success
@@ -685,6 +705,12 @@ class NotesControllerTest < ActionController::TestCase
   def test_search_bad_params
     get :search
     assert_response :bad_request
+
+    get :search, {:q => 'no match', :limit => '0', :format => 'json'}
+    assert_response :bad_request
+
+    get :search, {:q => 'no match', :limit => '10000', :format => 'json'}
+    assert_response :bad_request
   end
 
   def test_feed_success
@@ -708,10 +734,16 @@ class NotesControllerTest < ActionController::TestCase
   end
 
   def test_feed_fail
-    get :feed, {:bbox => "1,1,1.2"}
+    get :feed, {:bbox => "1,1,1.2", :format => "rss"}
+    assert_response :bad_request
+
+    get :feed, {:bbox => "1,1,1.2,1.2,1.2", :format => "rss"}
+    assert_response :bad_request
+
+    get :feed, {:bbox => "1,1,1.2,1.2", :limit => '0', :format => "rss"}
     assert_response :bad_request
 
-    get :feed, {:bbox => "1,1,1.2,1.2,1.2"}
+    get :feed, {:bbox => "1,1,1.2,1.2", :limit => '10000', :format => "rss"}
     assert_response :bad_request
   end