+
+ ##
+ # This should display the last 20 changesets closed.
+ def test_feed
+ changesets = Changeset.where("num_changes > 0").order(:created_at => :desc).limit(20)
+ assert changesets.size <= 20
+ get :feed, {:format => "atom"}
+ assert_response :success
+ assert_template "list"
+ # Now check that all 20 (or however many were returned) changesets are in the html
+ assert_select "feed", :count => 1
+ assert_select "entry", :count => changesets.size
+ changesets.each do |changeset|
+ # FIXME this test needs rewriting - test for feed contents
+ end
+ end
+
+ ##
+ # Checks the display of the user changesets feed
+ def test_feed_user
+ user = users(:public_user)
+ get :feed, {:format => "atom", :display_name => user.display_name}
+ assert_response :success
+ assert_template "list"
+ assert_equal "application/atom+xml", response.content_type
+ ## FIXME need to add more checks to see which if edits are actually shown if your data is public
+ end
+
+ ##
+ # Check the not found of the user changesets feed
+ def test_feed_user_not_found
+ get :feed, {:format => "atom", :display_name => "Some random user"}
+ assert_response :not_found
+ end
+
+ ##
+ # check that the changeset download for a changeset with a redacted
+ # element in it doesn't contain that element.
+ def test_diff_download_redacted
+ changeset_id = changesets(:public_user_first_change).id
+
+ get :download, :id => changeset_id
+ assert_response :success
+
+ assert_select "osmChange", 1
+ # this changeset contains node 17 in versions 1 & 2, but 1 should
+ # be hidden.
+ assert_select "osmChange node[id=17]", 1
+ assert_select "osmChange node[id=17][version=1]", 0
+ end
+