Allows multiple roles on the same project (#706). Prerequisite for user groups feature.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2726 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2009-05-10 10:54:31 +00:00
parent 814e138c2a
commit 7dccf9fda6
65 changed files with 340 additions and 175 deletions
+11 -11
View File
@@ -22,7 +22,7 @@ require 'roles_controller'
class RolesController; def rescue_action(e) raise e end; end
class RolesControllerTest < Test::Unit::TestCase
fixtures :roles, :users, :members, :workflows
fixtures :roles, :users, :members, :member_roles, :workflows
def setup
@controller = RolesController.new
@@ -65,7 +65,7 @@ class RolesControllerTest < Test::Unit::TestCase
:permissions => ['add_issues', 'edit_issues', 'log_time', ''],
:assignable => '0'}
assert_redirected_to 'roles/list'
assert_redirected_to 'roles'
role = Role.find_by_name('RoleWithoutWorkflowCopy')
assert_not_nil role
assert_equal [:add_issues, :edit_issues, :log_time], role.permissions
@@ -78,7 +78,7 @@ class RolesControllerTest < Test::Unit::TestCase
:assignable => '0'},
:copy_workflow_from => '1'
assert_redirected_to 'roles/list'
assert_redirected_to 'roles'
role = Role.find_by_name('RoleWithWorkflowCopy')
assert_not_nil role
assert_equal Role.find(1).workflows.size, role.workflows.size
@@ -97,7 +97,7 @@ class RolesControllerTest < Test::Unit::TestCase
:permissions => ['edit_project', ''],
:assignable => '0'}
assert_redirected_to 'roles/list'
assert_redirected_to 'roles'
role = Role.find(1)
assert_equal [:edit_project], role.permissions
end
@@ -107,7 +107,7 @@ class RolesControllerTest < Test::Unit::TestCase
assert r.save
post :destroy, :id => r
assert_redirected_to 'roles/list'
assert_redirected_to 'roles'
assert_nil Role.find_by_id(r.id)
end
@@ -139,7 +139,7 @@ class RolesControllerTest < Test::Unit::TestCase
def test_post_report
post :report, :permissions => { '0' => '', '1' => ['edit_issues'], '3' => ['add_issues', 'delete_issues']}
assert_redirected_to 'roles/list'
assert_redirected_to 'roles'
assert_equal [:edit_issues], Role.find(1).permissions
assert_equal [:add_issues, :delete_issues], Role.find(3).permissions
@@ -148,33 +148,33 @@ class RolesControllerTest < Test::Unit::TestCase
def test_clear_all_permissions
post :report, :permissions => { '0' => '' }
assert_redirected_to 'roles/list'
assert_redirected_to 'roles'
assert Role.find(1).permissions.empty?
end
def test_move_highest
post :edit, :id => 3, :role => {:move_to => 'highest'}
assert_redirected_to 'roles/list'
assert_redirected_to 'roles'
assert_equal 1, Role.find(3).position
end
def test_move_higher
position = Role.find(3).position
post :edit, :id => 3, :role => {:move_to => 'higher'}
assert_redirected_to 'roles/list'
assert_redirected_to 'roles'
assert_equal position - 1, Role.find(3).position
end
def test_move_lower
position = Role.find(2).position
post :edit, :id => 2, :role => {:move_to => 'lower'}
assert_redirected_to 'roles/list'
assert_redirected_to 'roles'
assert_equal position + 1, Role.find(2).position
end
def test_move_lowest
post :edit, :id => 2, :role => {:move_to => 'lowest'}
assert_redirected_to 'roles/list'
assert_redirected_to 'roles'
assert_equal Role.count, Role.find(2).position
end
end