X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/4a4d89138c440c7f68369fac12447002cf0cadd5..7b384f03ab1d34fd3ebcc5ae3add25b3b5591e2e:/test/functional/changeset_controller_test.rb diff --git a/test/functional/changeset_controller_test.rb b/test/functional/changeset_controller_test.rb index d60fe2fbc..a840dd233 100644 --- a/test/functional/changeset_controller_test.rb +++ b/test/functional/changeset_controller_test.rb @@ -1286,16 +1286,32 @@ EOF assert_response :success, "can't get changesets in bbox" assert_changesets [1] + # not found when looking for changesets of non-existing users + get :query, :user => User.maximum(:id) + 1 + assert_response :not_found + get :query, :display_name => " " + assert_response :not_found + # can't get changesets of user 1 without authenticating get :query, :user => users(:normal_user).id - assert_response :not_found, "shouldn't be able to get changesets by non-public user" + assert_response :not_found, "shouldn't be able to get changesets by non-public user (ID)" + get :query, :display_name => users(:normal_user).display_name + assert_response :not_found, "shouldn't be able to get changesets by non-public user (name)" # but this should work basic_authorization "test@openstreetmap.org", "test" get :query, :user => users(:normal_user).id - assert_response :success, "can't get changesets by user" + assert_response :success, "can't get changesets by user ID" assert_changesets [1,3,6] + get :query, :display_name => users(:normal_user).display_name + assert_response :success, "can't get changesets by user name" + assert_changesets [1,3,6] + + # check that the correct error is given when we provide both UID and name + get :query, :user => users(:normal_user).id, :display_name => users(:normal_user).display_name + assert_response :bad_request, "should be a bad request to have both ID and name specified" + get :query, :user => users(:normal_user).id, :open => true assert_response :success, "can't get changesets by user and open" assert_changesets [1] @@ -1490,11 +1506,11 @@ EOF def test_list changesets = Changeset.find(:all, :order => "created_at DESC", :conditions => ['min_lat IS NOT NULL'], :limit=> 20) assert changesets.size <= 20 - get :list + 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 => "Recent Changes", :count => 1 + assert_select "h1", :text => "Changesets", :count => 1 assert_select "table[id='changeset_list'] tr", :count => changesets.size + 1 changesets.each do |changeset| # FIXME this test needs rewriting - test for table contents @@ -1505,16 +1521,16 @@ EOF # Checks the display of the user changesets listing def test_list_user user = users(:public_user) - get :list_user, {:display_name => user.display_name} + get :list, {:format => "html", :display_name => user.display_name} assert_response :success - assert_template 'list_user' + 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 list user changesets def test_list_user_not_found - get :list_user, {:display_name => "Some random user"} + get :list, {:format => "html", :display_name => "Some random user"} assert_response :not_found assert_template 'user/no_such_user' end