X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/563871c5a9a8140522b0c569df5c91a38528c8ce..4470cb88e0556041452719a3b4d7396cb3e3ec4a:/test/controllers/traces_controller_test.rb?ds=sidebyside diff --git a/test/controllers/traces_controller_test.rb b/test/controllers/traces_controller_test.rb index c5f503d62..78d714289 100644 --- a/test/controllers/traces_controller_test.rb +++ b/test/controllers/traces_controller_test.rb @@ -30,23 +30,6 @@ class TracesControllerTest < ActionDispatch::IntegrationTest { :controller => "traces", :action => "mine", :tag => "tagname" } ) - assert_routing( - { :path => "/traces/rss", :method => :get }, - { :controller => "traces", :action => "georss", :format => :rss } - ) - assert_routing( - { :path => "/traces/tag/tagname/rss", :method => :get }, - { :controller => "traces", :action => "georss", :tag => "tagname", :format => :rss } - ) - assert_routing( - { :path => "/user/username/traces/rss", :method => :get }, - { :controller => "traces", :action => "georss", :display_name => "username", :format => :rss } - ) - assert_routing( - { :path => "/user/username/traces/tag/tagname/rss", :method => :get }, - { :controller => "traces", :action => "georss", :display_name => "username", :tag => "tagname", :format => :rss } - ) - assert_routing( { :path => "/user/username/traces/1", :method => :get }, { :controller => "traces", :action => "show", :display_name => "username", :id => "1" } @@ -333,61 +316,6 @@ class TracesControllerTest < ActionDispatch::IntegrationTest end end - # Check the RSS feed - def test_rss - user = create(:user) - # The fourth test below is surprisingly sensitive to timestamp ordering when the timestamps are equal. - trace_a = create(:trace, :visibility => "public", :timestamp => 4.seconds.ago) do |trace| - create(:tracetag, :trace => trace, :tag => "London") - end - trace_b = create(:trace, :visibility => "public", :timestamp => 3.seconds.ago) do |trace| - create(:tracetag, :trace => trace, :tag => "Birmingham") - end - create(:trace, :visibility => "private", :user => user, :timestamp => 2.seconds.ago) do |trace| - create(:tracetag, :trace => trace, :tag => "London") - end - create(:trace, :visibility => "private", :user => user, :timestamp => 1.second.ago) do |trace| - create(:tracetag, :trace => trace, :tag => "Birmingham") - end - - # First with the public feed - get traces_rss_path - check_trace_feed [trace_b, trace_a] - - # Restrict traces to those with a given tag - get traces_rss_path(:tag => "London") - check_trace_feed [trace_a] - end - - # Check the RSS feed for a specific user - def test_rss_user - user = create(:user) - second_user = create(:user) - create(:user) - create(:trace) - trace_b = create(:trace, :visibility => "public", :timestamp => 4.seconds.ago, :user => user) - trace_c = create(:trace, :visibility => "public", :timestamp => 3.seconds.ago, :user => user) do |trace| - create(:tracetag, :trace => trace, :tag => "London") - end - create(:trace, :visibility => "private") - - # Test a user with no traces - get traces_rss_path(:display_name => second_user.display_name) - check_trace_feed [] - - # Test the user with the traces - should see only public ones - get traces_rss_path(:display_name => user.display_name) - check_trace_feed [trace_c, trace_b] - - # Should only see traces with the correct tag when a tag is specified - get traces_rss_path(:display_name => user.display_name, :tag => "London") - check_trace_feed [trace_c] - - # Should no traces if the user does not exist - get traces_rss_path(:display_name => "UnknownUser") - check_trace_feed [] - end - # Test showing a trace def test_show public_trace_file = create(:trace, :visibility => "public") @@ -721,34 +649,6 @@ class TracesControllerTest < ActionDispatch::IntegrationTest private - def check_trace_feed(traces) - assert_response :success - assert_template "georss" - assert_equal "application/rss+xml", @response.media_type - assert_select "rss", :count => 1 do - assert_select "channel", :count => 1 do - assert_select "title" - assert_select "description" - assert_select "link" - assert_select "image" - assert_select "item", :count => traces.length do |items| - traces.zip(items).each do |trace, item| - assert_select item, "title", trace.name - assert_select item, "link", "http://www.example.com/user/#{ERB::Util.u(trace.user.display_name)}/traces/#{trace.id}" - assert_select item, "guid", "http://www.example.com/user/#{ERB::Util.u(trace.user.display_name)}/traces/#{trace.id}" - assert_select item, "description" do - assert_dom_encoded do - assert_select "img[src='#{trace_icon_url trace.user, trace}']" - end - end - # assert_select item, "dc:creator", trace.user.display_name - assert_select item, "pubDate", trace.timestamp.rfc822 - end - end - end - end - end - def check_trace_index(traces) assert_response :success assert_template "index"