mirror of
https://github.com/redmine/redmine.git
synced 2025-12-23 08:50:32 +01:00
Ability to close projects (read-only) (#3640).
A new permission (Close/reopen project) is available to give non-admin users the ability to close their projects. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9883 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -380,6 +380,21 @@ class ProjectsControllerTest < ActionController::TestCase
|
||||
assert_template 'settings'
|
||||
end
|
||||
|
||||
def test_settings_should_be_denied_for_member_on_closed_project
|
||||
Project.find(1).close
|
||||
@request.session[:user_id] = 2 # manager
|
||||
|
||||
get :settings, :id => 1
|
||||
assert_response 403
|
||||
end
|
||||
|
||||
def test_settings_should_be_denied_for_anonymous_on_closed_project
|
||||
Project.find(1).close
|
||||
|
||||
get :settings, :id => 1
|
||||
assert_response 302
|
||||
end
|
||||
|
||||
def test_update
|
||||
@request.session[:user_id] = 2 # manager
|
||||
post :update, :id => 1, :project => {:name => 'Test changed name',
|
||||
@@ -397,6 +412,23 @@ class ProjectsControllerTest < ActionController::TestCase
|
||||
assert_error_tag :content => /name can't be blank/i
|
||||
end
|
||||
|
||||
def test_update_should_be_denied_for_member_on_closed_project
|
||||
Project.find(1).close
|
||||
@request.session[:user_id] = 2 # manager
|
||||
|
||||
post :update, :id => 1, :project => {:name => 'Closed'}
|
||||
assert_response 403
|
||||
assert_equal 'eCookbook', Project.find(1).name
|
||||
end
|
||||
|
||||
def test_update_should_be_denied_for_anonymous_on_closed_project
|
||||
Project.find(1).close
|
||||
|
||||
post :update, :id => 1, :project => {:name => 'Closed'}
|
||||
assert_response 302
|
||||
assert_equal 'eCookbook', Project.find(1).name
|
||||
end
|
||||
|
||||
def test_modules
|
||||
@request.session[:user_id] = 2
|
||||
Project.find(1).enabled_module_names = ['issue_tracking', 'news']
|
||||
@@ -444,6 +476,21 @@ class ProjectsControllerTest < ActionController::TestCase
|
||||
assert Project.find(1).active?
|
||||
end
|
||||
|
||||
def test_close
|
||||
@request.session[:user_id] = 2
|
||||
post :close, :id => 1
|
||||
assert_redirected_to '/projects/ecookbook'
|
||||
assert_equal Project::STATUS_CLOSED, Project.find(1).status
|
||||
end
|
||||
|
||||
def test_reopen
|
||||
Project.find(1).close
|
||||
@request.session[:user_id] = 2
|
||||
post :reopen, :id => 1
|
||||
assert_redirected_to '/projects/ecookbook'
|
||||
assert Project.find(1).active?
|
||||
end
|
||||
|
||||
def test_project_breadcrumbs_should_be_limited_to_3_ancestors
|
||||
CustomField.delete_all
|
||||
parent = nil
|
||||
|
||||
Reference in New Issue
Block a user