X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/e731dd71a77ad4ad1e9db22535e89444bb98e5d9..9e4a240975ff9f4b7501059f62552f86e2159819:/test/controllers/changeset_comments_controller_test.rb diff --git a/test/controllers/changeset_comments_controller_test.rb b/test/controllers/changeset_comments_controller_test.rb index 2d13bd92b..b03640eab 100644 --- a/test/controllers/changeset_comments_controller_test.rb +++ b/test/controllers/changeset_comments_controller_test.rb @@ -1,6 +1,6 @@ require "test_helper" -class ChangesetCommentsControllerTest < ActionController::TestCase +class ChangesetCommentsControllerTest < ActionDispatch::IntegrationTest ## # test all routes which lead to this controller def test_routes @@ -20,30 +20,40 @@ class ChangesetCommentsControllerTest < ActionController::TestCase changeset = create(:changeset, :closed) create_list(:changeset_comment, 3, :changeset => changeset) - get :index, :params => { :format => "rss" } + get changesets_comments_feed_path(:format => "rss") assert_response :success - assert_equal "application/rss+xml", @response.content_type + assert_equal "application/rss+xml", @response.media_type assert_select "rss", :count => 1 do assert_select "channel", :count => 1 do assert_select "item", :count => 3 end end - get :index, :params => { :format => "rss", :limit => 2 } + get changesets_comments_feed_path(:format => "rss", :limit => 2) assert_response :success - assert_equal "application/rss+xml", @response.content_type + assert_equal "application/rss+xml", @response.media_type assert_select "rss", :count => 1 do assert_select "channel", :count => 1 do assert_select "item", :count => 2 end end - get :index, :params => { :id => changeset.id, :format => "rss" } + get changeset_comments_feed_path(:id => changeset.id, :format => "rss") assert_response :success - assert_equal "application/rss+xml", @response.content_type + assert_equal "application/rss+xml", @response.media_type + last_comment_id = -1 assert_select "rss", :count => 1 do assert_select "channel", :count => 1 do - assert_select "item", :count => 3 + assert_select "item", :count => 3 do |items| + items.each do |item| + assert_select item, "link", :count => 1 do |link| + match = assert_match(/^#{changeset_url changeset}#c(\d+)$/, link.text) + comment_id = match[1].to_i + assert_operator comment_id, "<", last_comment_id if last_comment_id != -1 + last_comment_id = comment_id + end + end + end end end end @@ -51,10 +61,10 @@ class ChangesetCommentsControllerTest < ActionController::TestCase ## # test comments feed def test_feed_bad_limit - get :index, :params => { :format => "rss", :limit => 0 } + get changesets_comments_feed_path(:format => "rss", :limit => 0) assert_response :bad_request - get :index, :params => { :format => "rss", :limit => 100001 } + get changesets_comments_feed_path(:format => "rss", :limit => 100001) assert_response :bad_request end end