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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user