]> git.openstreetmap.org Git - rails.git/blobdiff - test/functional/changeset_controller_test.rb
Fixup some error handling in map bugs
[rails.git] / test / functional / changeset_controller_test.rb
index b02f556c9faf04c5cb6a556f88ab6037206df5b1..befa8192a6b6d842e1321fa92e736bd52f135eda 100644 (file)
@@ -1337,16 +1337,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]
@@ -1366,6 +1382,10 @@ EOF
     get :query, :open => 'true'
     assert_response :success, "can't get changesets by open-ness"
     assert_changesets [1,2,4]
+
+    get :query, :closed => 'true'
+    assert_response :success, "can't get changesets by closed-ness"
+    assert_changesets [3,5,6,7]
   end
 
   ##