X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/30d5e783e478789d2454e85c6d5b621b07a11081..21855aa355ed66bea0ae21acb3d675aeaccc963b:/test/functional/user_roles_controller_test.rb diff --git a/test/functional/user_roles_controller_test.rb b/test/functional/user_roles_controller_test.rb index 3bced12e4..1e2d29b45 100644 --- a/test/functional/user_roles_controller_test.rb +++ b/test/functional/user_roles_controller_test.rb @@ -1,38 +1,24 @@ require File.dirname(__FILE__) + '/../test_helper' class UserRolesControllerTest < ActionController::TestCase - fixtures :users, :user_roles - - test "grant" do - check_forbidden(:grant, :public_user) - check_forbidden(:grant, :moderator_user) - check_success(:grant, :administrator_user) - end - - test "revoke" do - check_forbidden(:revoke, :public_user) - check_forbidden(:revoke, :moderator_user) - check_success(:revoke, :administrator_user) - end - - def check_forbidden(action, user) - 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 "/403.html" - end - end - - def check_success(action, user) - 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 :success - 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