X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/09c5740b5bb94c75a5c8c83cdbb80ae7b5ccbdf4..dc48c9a5101c263dfd0eb33fa358490fc2ad9de0:/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