X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/03f733c4f4091dc53e391aa74a020681af98a4ff..6fb857020092c909043c4521b91a040f3bb16937:/test/functional/map_bugs_controller_test.rb diff --git a/test/functional/map_bugs_controller_test.rb b/test/functional/map_bugs_controller_test.rb index 8031041bd..c3335d2b1 100644 --- a/test/functional/map_bugs_controller_test.rb +++ b/test/functional/map_bugs_controller_test.rb @@ -9,49 +9,79 @@ class MapBugsControllerTest < ActionController::TestCase post :add_bug, {:lat => -1.0, :lon => -1.0, :name => "new_tester", :text => "This is a comment"} end end - assert_response :success + assert_response :success + id = @response.body.sub(/ok/,"").to_i + get :read, {:id => id, :format => 'json'} + assert_response :success + js = @response.body + assert_match "\"status\":\"open\"", js + assert_match "\"comment\":\"This is a comment\"", js + assert_match "\"commenter_name\":\"new_tester (a)\"", js end def test_map_bug_comment_create_success assert_difference('MapBugComment.count') do - post :edit_bug, {:id => 2, :name => "new_tester", :text => "This is an additional comment"} + post :edit_bug, {:id => 2, :name => "new_tester2", :text => "This is an additional comment"} end - assert_response :success + assert_response :success + + get :read, {:id => 2, :format => 'json'} + assert_response :success + js = @response.body + assert_match "\"id\":2", js + assert_match "\"status\":\"open\"", js + assert_match "\"comment\":\"This is an additional comment\"", js + assert_match "\"commenter_name\":\"new_tester2 (a)\"", js + end def test_map_bug_read_success get :read, {:id => 1} assert_response :success - end - def test_map_bug_read_xml_success get :read, {:id => 1, :format => 'xml'} - assert_response :success - end + assert_response :success - def test_map_bug_read_rss_success get :read, {:id => 1, :format => 'rss'} - assert_response :success - end + assert_response :success - def test_map_bug_read_json_success get :read, {:id => 1, :format => 'json'} - assert_response :success - end + assert_response :success - def test_map_bug_read_gpx_success get :read, {:id => 1, :format => 'gpx'} assert_response :success end def test_map_bug_close_success post :close_bug, {:id => 2} - assert_response :success + assert_response :success + + get :read, {:id => 2, :format => 'json'} + js = @response.body + assert_match "\"id\":2", js + assert_match "\"status\":\"closed\"", js end def test_get_bugs_success get :get_bugs, {:bbox=>'1,1,1.2,1.2'} assert_response :success + + get :get_bugs, {:bbox=>'1,1,1.2,1.2', :format => 'rss'} + assert_response :success + + get :get_bugs, {:bbox=>'1,1,1.2,1.2', :format => 'json'} + assert_response :success + + get :get_bugs, {:bbox=>'1,1,1.2,1.2', :format => 'xml'} + assert_response :success + + get :get_bugs, {:bbox=>'1,1,1.2,1.2', :format => 'gpx'} + assert_response :success + end + + def test_get_bugs_large_area_success + get :get_bugs, {:bbox=>'-10,-10,12,12'} + assert_response :success end def test_get_bugs_closed_7_success @@ -69,33 +99,43 @@ class MapBugsControllerTest < ActionController::TestCase assert_response :success end - def test_get_bugs_rss_success - get :get_bugs, {:bbox=>'1,1,1.2,1.2', :format => 'rss'} + + def test_search_success + get :search, {:bbox=>'1,1,1.2,1.2', :q => 'bug 1'} assert_response :success - end - def test_get_bugs_json_success - get :get_bugs, {:bbox=>'1,1,1.2,1.2', :format => 'json'} + get :search, {:bbox=>'1,1,1.2,1.2', :q => 'bug 1', :format => 'xml'} assert_response :success - end - def test_get_bugs_xml_success - get :get_bugs, {:bbox=>'1,1,1.2,1.2', :format => 'xml'} + get :search, {:bbox=>'1,1,1.2,1.2', :q => 'bug 1', :format => 'json'} assert_response :success - end - def test_get_bugs_gpx_success - get :get_bugs, {:bbox=>'1,1,1.2,1.2', :format => 'gpx'} + get :search, {:bbox=>'1,1,1.2,1.2', :q => 'bug 1', :format => 'rss'} + assert_response :success + + get :search, {:bbox=>'1,1,1.2,1.2', :q => 'bug 1', :format => 'gpx'} assert_response :success end + def test_rss_success + get :rss, {:bbox=>'1,1,1.2,1.2'} + assert_response :success + + get :rss + assert_response :success + end + def test_user_bugs_success + get :my_bugs, {:display_name=>'test'} + assert_response :success - def test_search_success - get :search, {:bbox=>'1,1,1.2,1.2', :q => 'bug 1'} + get :my_bugs, {:display_name=>'pulibc_test2'} assert_response :success - end + get :my_bugs, {:display_name=>'non-existent'} + assert_response :not_found + + end def test_map_bug_comment_create_not_found assert_no_difference('MapBugComment.count') do @@ -119,5 +159,16 @@ class MapBugsControllerTest < ActionController::TestCase assert_response :gone end + def test_map_bug_hidden_comment + get :read, {:id => 5, :format => 'json'} + assert_response :success + js = @response.body + assert_match "\"id\":5", js + assert_match "\"comment\":\"Valid comment for bug 5\"", js + assert_match "\"comment\":\"Another valid comment for bug 5\"", js + assert_no_match /\"comment\":\"Spam for bug 5\"/, js + end + + end