X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/457cc99349972c4cfc52959aac317562c99e47d1..cca07cf0b54ca16ec7bafcfa6d3920b6a7c087e4:/test/controllers/api/changeset_comments_controller_test.rb?ds=sidebyside diff --git a/test/controllers/api/changeset_comments_controller_test.rb b/test/controllers/api/changeset_comments_controller_test.rb index fcb53600e..b16ea4502 100644 --- a/test/controllers/api/changeset_comments_controller_test.rb +++ b/test/controllers/api/changeset_comments_controller_test.rb @@ -21,22 +21,6 @@ module Api { :path => "/api/0.6/changeset/1/comment.json", :method => :post }, { :controller => "api/changeset_comments", :action => "create", :changeset_id => "1", :format => "json" } ) - assert_routing( - { :path => "/api/0.6/changeset/comment/1/hide", :method => :post }, - { :controller => "api/changeset_comments", :action => "destroy", :id => "1" } - ) - assert_routing( - { :path => "/api/0.6/changeset/comment/1/hide.json", :method => :post }, - { :controller => "api/changeset_comments", :action => "destroy", :id => "1", :format => "json" } - ) - assert_routing( - { :path => "/api/0.6/changeset/comment/1/unhide", :method => :post }, - { :controller => "api/changeset_comments", :action => "restore", :id => "1" } - ) - assert_routing( - { :path => "/api/0.6/changeset/comment/1/unhide.json", :method => :post }, - { :controller => "api/changeset_comments", :action => "restore", :id => "1", :format => "json" } - ) end def test_index @@ -353,216 +337,6 @@ module Api end end - def test_hide_by_unauthorized - comment = create(:changeset_comment) - - post changeset_comment_hide_path(comment) - - assert_response :unauthorized - assert comment.reload.visible - end - - def test_hide_by_normal_user - comment = create(:changeset_comment) - auth_header = bearer_authorization_header - - post changeset_comment_hide_path(comment), :headers => auth_header - - assert_response :forbidden - assert comment.reload.visible - end - - def test_hide_missing_comment - auth_header = bearer_authorization_header create(:moderator_user) - - post changeset_comment_hide_path(999111), :headers => auth_header - - assert_response :not_found - end - - def test_hide_without_required_scope - comment = create(:changeset_comment) - auth_header = bearer_authorization_header create(:moderator_user), :scopes => %w[read_prefs] - - post changeset_comment_hide_path(comment), :headers => auth_header - - assert_response :forbidden - assert comment.reload.visible - end - - def test_hide_with_write_changeset_comments_scope - comment = create(:changeset_comment) - auth_header = bearer_authorization_header create(:moderator_user), :scopes => %w[write_changeset_comments] - - post changeset_comment_hide_path(comment), :headers => auth_header - - assert_response :success - assert_equal "application/xml", response.media_type - assert_dom "osm", 1 do - assert_dom "> changeset", 1 do - assert_dom "> @id", comment.changeset_id.to_s - assert_dom "> @comments_count", "0" - end - end - - assert_not comment.reload.visible - end - - def test_hide_with_write_changeset_comments_scope_json - comment = create(:changeset_comment) - auth_header = bearer_authorization_header create(:moderator_user), :scopes => %w[write_changeset_comments] - - post changeset_comment_hide_path(comment, :format => "json"), :headers => auth_header - - assert_response :success - assert_equal "application/json", response.media_type - js = ActiveSupport::JSON.decode(@response.body) - assert_not_nil js["changeset"] - assert_equal comment.changeset_id, js["changeset"]["id"] - assert_equal 0, js["changeset"]["comments_count"] - - assert_not comment.reload.visible - end - - def test_hide_with_write_api_scope - comment = create(:changeset_comment) - auth_header = bearer_authorization_header create(:moderator_user), :scopes => %w[write_api] - - post changeset_comment_hide_path(comment), :headers => auth_header - - assert_response :success - assert_equal "application/xml", response.media_type - assert_dom "osm", 1 do - assert_dom "> changeset", 1 do - assert_dom "> @id", comment.changeset_id.to_s - assert_dom "> @comments_count", "0" - end - end - - assert_not comment.reload.visible - end - - def test_hide_with_write_api_scope_json - comment = create(:changeset_comment) - auth_header = bearer_authorization_header create(:moderator_user), :scopes => %w[write_api] - - post changeset_comment_hide_path(comment, :format => "json"), :headers => auth_header - - assert_response :success - assert_equal "application/json", response.media_type - js = ActiveSupport::JSON.decode(@response.body) - assert_not_nil js["changeset"] - assert_equal comment.changeset_id, js["changeset"]["id"] - assert_equal 0, js["changeset"]["comments_count"] - - assert_not comment.reload.visible - end - - def test_unhide_by_unauthorized - comment = create(:changeset_comment, :visible => false) - - post changeset_comment_unhide_path(comment) - - assert_response :unauthorized - assert_not comment.reload.visible - end - - def test_unhide_by_normal_user - comment = create(:changeset_comment, :visible => false) - auth_header = bearer_authorization_header - - post changeset_comment_unhide_path(comment), :headers => auth_header - - assert_response :forbidden - assert_not comment.reload.visible - end - - def test_unhide_missing_comment - auth_header = bearer_authorization_header create(:moderator_user) - - post changeset_comment_unhide_path(999111), :headers => auth_header - - assert_response :not_found - end - - def test_unhide_without_required_scope - comment = create(:changeset_comment, :visible => false) - auth_header = bearer_authorization_header create(:moderator_user), :scopes => %w[read_prefs] - - post changeset_comment_unhide_path(comment), :headers => auth_header - - assert_response :forbidden - assert_not comment.reload.visible - end - - def test_unhide_with_write_changeset_comments_scope - comment = create(:changeset_comment, :visible => false) - auth_header = bearer_authorization_header create(:moderator_user), :scopes => %w[write_changeset_comments] - - post changeset_comment_unhide_path(comment), :headers => auth_header - - assert_response :success - assert_equal "application/xml", response.media_type - assert_dom "osm", 1 do - assert_dom "> changeset", 1 do - assert_dom "> @id", comment.changeset_id.to_s - assert_dom "> @comments_count", "1" - end - end - - assert comment.reload.visible - end - - def test_unhide_with_write_changeset_comments_scope_json - comment = create(:changeset_comment, :visible => false) - auth_header = bearer_authorization_header create(:moderator_user), :scopes => %w[write_changeset_comments] - - post changeset_comment_unhide_path(comment, :format => "json"), :headers => auth_header - - assert_response :success - assert_equal "application/json", response.media_type - js = ActiveSupport::JSON.decode(@response.body) - assert_not_nil js["changeset"] - assert_equal comment.changeset_id, js["changeset"]["id"] - assert_equal 1, js["changeset"]["comments_count"] - - assert comment.reload.visible - end - - def test_unhide_with_write_api_scope - comment = create(:changeset_comment, :visible => false) - auth_header = bearer_authorization_header create(:moderator_user), :scopes => %w[write_api] - - post changeset_comment_unhide_path(comment), :headers => auth_header - - assert_response :success - assert_equal "application/xml", response.media_type - assert_dom "osm", 1 do - assert_dom "> changeset", 1 do - assert_dom "> @id", comment.changeset_id.to_s - assert_dom "> @comments_count", "1" - end - end - - assert comment.reload.visible - end - - def test_unhide_with_write_api_scope_json - comment = create(:changeset_comment, :visible => false) - auth_header = bearer_authorization_header create(:moderator_user), :scopes => %w[write_api] - - post changeset_comment_unhide_path(comment, :format => "json"), :headers => auth_header - - assert_response :success - js = ActiveSupport::JSON.decode(@response.body) - assert_equal "application/json", response.media_type - assert_not_nil js["changeset"] - assert_equal comment.changeset_id, js["changeset"]["id"] - assert_equal 1, js["changeset"]["comments_count"] - - assert comment.reload.visible - end - private ##