Add some basic changeset feed tests
authorTom Hughes <tom@compton.nu>
Tue, 1 May 2012 20:14:50 +0000 (21:14 +0100)
committerTom Hughes <tom@compton.nu>
Tue, 1 May 2012 20:14:50 +0000 (21:14 +0100)
test/functional/changeset_controller_test.rb

index 8bba909..59cabca 100644 (file)
@@ -1746,6 +1746,39 @@ EOF
     assert_response :not_found
     assert_template 'user/no_such_user'
   end
+      
+  ##
+  # This should display the last 20 changesets closed.
+  def test_feed
+    changesets = Changeset.find(:all, :order => "created_at DESC", :conditions => ['num_changes > 0'], :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 "changeset/_user"
+    ## 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