# check that a changeset that doesn't exist returns an appropriate message
def test_read_not_found
[0, -32, 233455644, "afg", "213"].each do |id|
- get :read, :id => id
- assert_response :not_found, "should get a not found"
+ begin
+ get :read, :id => id
+ assert_response :not_found, "should get a not found"
+ rescue ActionController::UrlGenerationError => ex
+ assert_match /No route matches/, ex.to_s
+ end
end
end
# First try to do it with no auth
cs_ids.each do |id|
- put :close, :id => id
- assert_response :unauthorized, "Shouldn't be able close the non-existant changeset #{id}, when not authorized"
+ begin
+ put :close, :id => id
+ assert_response :unauthorized, "Shouldn't be able close the non-existant changeset #{id}, when not authorized"
+ rescue ActionController::UrlGenerationError => ex
+ assert_match /No route matches/, ex.to_s
+ end
end
# Now try with auth
basic_authorization users(:public_user).email, "test"
cs_ids.each do |id|
- put :close, :id => id
- assert_response :not_found, "The changeset #{id} doesn't exist, so can't be closed"
+ begin
+ put :close, :id => id
+ assert_response :not_found, "The changeset #{id} doesn't exist, so can't be closed"
+ rescue ActionController::UrlGenerationError => ex
+ assert_match /No route matches/, ex.to_s
+ end
end
end
##
# This should display the last 20 changesets closed.
def test_list
- changesets = Changeset.find(:all, :order => "created_at DESC", :conditions => ['num_changes > 0'], :limit=> 20)
+ changesets = Changeset.where("num_changes > 0").order(:created_at => :desc).limit(20)
assert changesets.size <= 20
get :list, {:format => "html"}
assert_response :success
assert_template "list"
# Now check that all 20 (or however many were returned) changesets are in the html
assert_select "h1", :text => "Changesets", :count => 1
- assert_select "table[id='changeset_list'] tr", :count => changesets.size
+ assert_select "div[id='changeset_list'] ul", :count => changesets.size
changesets.each do |changeset|
# FIXME this test needs rewriting - test for table contents
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)
+ changesets = Changeset.where("num_changes > 0").order(:created_at => :desc).limit(20)
assert changesets.size <= 20
get :feed, {:format => "atom"}
assert_response :success