X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/daa2496024cf0bdc65e58eb6e2802784f411f68b..21855aa355ed66bea0ae21acb3d675aeaccc963b:/test/functional/user_roles_controller_test.rb?ds=sidebyside diff --git a/test/functional/user_roles_controller_test.rb b/test/functional/user_roles_controller_test.rb index c2de53934..1e2d29b45 100644 --- a/test/functional/user_roles_controller_test.rb +++ b/test/functional/user_roles_controller_test.rb @@ -1,28 +1,24 @@ require File.dirname(__FILE__) + '/../test_helper' class UserRolesControllerTest < ActionController::TestCase - fixtures :users, :user_roles - - test "grant" do - check_redirect(:grant, :public_user, "/403.html") - check_redirect(:grant, :moderator_user, "/403.html") - check_redirect(:grant, :administrator_user, {:controller => :user, :action => :view}) - end - - test "revoke" do - check_redirect(:revoke, :public_user, "/403.html") - check_redirect(:revoke, :moderator_user, "/403.html") - check_redirect(:revoke, :administrator_user, {:controller => :user, :action => :view}) - end - - def check_redirect(action, user, redirect) - UserRole::ALL_ROLES.each do |role| - u = users(user) - basic_authorization(u.email, "test") - - get(action, {:display_name => users(:second_public_user).display_name, :role => role}, {'user' => u.id}) - assert_response :redirect - assert_redirected_to redirect - end + ## + # test all routes which lead to this controller + def test_routes + assert_routing( + { :path => "/user/username/role/rolename/grant", :method => :get }, + { :controller => "user_roles", :action => "grant", :display_name => "username", :role => "rolename" } + ) + assert_routing( + { :path => "/user/username/role/rolename/grant", :method => :post }, + { :controller => "user_roles", :action => "grant", :display_name => "username", :role => "rolename" } + ) + assert_routing( + { :path => "/user/username/role/rolename/revoke", :method => :get }, + { :controller => "user_roles", :action => "revoke", :display_name => "username", :role => "rolename" } + ) + assert_routing( + { :path => "/user/username/role/rolename/revoke", :method => :post }, + { :controller => "user_roles", :action => "revoke", :display_name => "username", :role => "rolename" } + ) end end