##// END OF EJS Templates
Fixed that magic links to existing attachments are not converted when previewing issue notes....
Fixed that magic links to existing attachments are not converted when previewing issue notes. git-svn-id: http://svn.redmine.org/redmine/trunk@12476 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r12079:bba304ef3907
r12201:58a63c49c49b
Show More
projects_controller_test.rb
607 lines | 20.2 KiB | text/x-ruby | RubyLexer
/ test / functional / projects_controller_test.rb
Jean-Philippe Lang
Adds missing native eol properties....
r2781 # Redmine - project management software
Jean-Philippe Lang
Copyright for 2013 (#12788)....
r10939 # Copyright (C) 2006-2013 Jean-Philippe Lang
Jean-Philippe Lang
Adds missing native eol properties....
r2781 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681 #
Jean-Philippe Lang
Adds missing native eol properties....
r2781 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681 #
Jean-Philippe Lang
Adds missing native eol properties....
r2781 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Adds missing native eol properties....
r2781
class ProjectsControllerTest < ActionController::TestCase
fixtures :projects, :versions, :users, :roles, :members, :member_roles, :issues, :journals, :journal_details,
:trackers, :projects_trackers, :issue_statuses, :enabled_modules, :enumerations, :boards, :messages,
Eric Davis
When a specific TimeEntryActivity are change, associated TimeEntries will be...
r2836 :attachments, :custom_fields, :custom_values, :time_entries
Jean-Philippe Lang
Adds missing native eol properties....
r2781
def setup
@request.session[:user_id] = nil
Setting.default_language = 'en'
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 def test_index_by_anonymous_should_not_show_private_projects
Jean-Philippe Lang
Adds missing native eol properties....
r2781 get :index
assert_response :success
assert_template 'index'
Jean-Philippe Lang
Code cleanup....
r11208 projects = assigns(:projects)
assert_not_nil projects
assert projects.all?(&:is_public?)
assert_select 'ul' do
assert_select 'li' do
assert_select 'a', :text => 'eCookbook'
assert_select 'ul' do
assert_select 'a', :text => 'Child of private child'
end
end
end
assert_select 'a', :text => /Private child of eCookbook/, :count => 0
Jean-Philippe Lang
Adds missing native eol properties....
r2781 end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 def test_index_atom
get :index, :format => 'atom'
assert_response :success
Jean-Philippe Lang
Rails 3.1 compatibility....
r8962 assert_template 'common/feed'
Jean-Philippe Lang
Adds missing native eol properties....
r2781 assert_select 'feed>title', :text => 'Redmine: Latest projects'
Jean-Philippe Lang
Cleanup of finders with :conditions option....
r11733 assert_select 'feed>entry', :count => Project.visible(User.current).count
Jean-Philippe Lang
Adds missing native eol properties....
r2781 end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 test "#index by non-admin user with view_time_entries permission should show overall spent time link" do
@request.session[:user_id] = 3
get :index
assert_template 'index'
assert_select 'a[href=?]', '/time_entries'
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 test "#index by non-admin user without view_time_entries permission should not show overall spent time link" do
Role.find(2).remove_permission! :view_time_entries
Role.non_member.remove_permission! :view_time_entries
Role.anonymous.remove_permission! :view_time_entries
@request.session[:user_id] = 3
get :index
assert_template 'index'
assert_select 'a[href=?]', '/time_entries', 0
Eric Davis
Add a link to the cross project time entries page to /projects. #4935...
r3688 end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 test "#new by admin user should accept get" do
@request.session[:user_id] = 1
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 get :new
assert_response :success
assert_template 'new'
end
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953
Jean-Philippe Lang
Code cleanup....
r11208 test "#new by non-admin user with add_project permission should accept get" do
Role.non_member.add_permission! :add_project
@request.session[:user_id] = 9
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953
Jean-Philippe Lang
Code cleanup....
r11208 get :new
assert_response :success
assert_template 'new'
assert_select 'select[name=?]', 'project[parent_id]', 0
end
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953
Jean-Philippe Lang
Code cleanup....
r11208 test "#new by non-admin user with add_subprojects permission should accept get" do
Role.find(1).remove_permission! :add_project
Role.find(1).add_permission! :add_subprojects
@request.session[:user_id] = 2
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953
Jean-Philippe Lang
Code cleanup....
r11208 get :new, :parent_id => 'ecookbook'
assert_response :success
assert_template 'new'
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 assert_select 'select[name=?]', 'project[parent_id]' do
# parent project selected
assert_select 'option[value=1][selected=selected]'
# no empty value
assert_select 'option[value=]', 0
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953 end
end
Jean-Philippe Lang
Code cleanup....
r11208 test "#create by admin user should create a new project" do
@request.session[:user_id] = 1
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 post :create,
:project => {
:name => "blog",
:description => "weblog",
:homepage => 'http://weblog',
:identifier => "blog",
:is_public => 1,
:custom_field_values => { '3' => 'Beta' },
:tracker_ids => ['1', '3'],
# an issue custom field that is not for all project
:issue_custom_field_ids => ['9'],
:enabled_module_names => ['issue_tracking', 'news', 'repository']
}
assert_redirected_to '/projects/blog/settings'
project = Project.find_by_name('blog')
assert_kind_of Project, project
assert project.active?
assert_equal 'weblog', project.description
assert_equal 'http://weblog', project.homepage
assert_equal true, project.is_public?
assert_nil project.parent
assert_equal 'Beta', project.custom_value_for(3).value
assert_equal [1, 3], project.trackers.map(&:id).sort
assert_equal ['issue_tracking', 'news', 'repository'], project.enabled_module_names.sort
assert project.issue_custom_fields.include?(IssueCustomField.find(9))
end
test "#create by admin user should create a new subproject" do
@request.session[:user_id] = 1
Toshi MARUYAMA
remove trailing white-spaces from test/functional/projects_controller_test.rb....
r6797
Jean-Philippe Lang
Code cleanup....
r11208 assert_difference 'Project.count' do
post :create, :project => { :name => "blog",
:description => "weblog",
:identifier => "blog",
:is_public => 1,
:custom_field_values => { '3' => 'Beta' },
:parent_id => 1
}
assert_redirected_to '/projects/blog/settings'
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 project = Project.find_by_name('blog')
assert_kind_of Project, project
assert_equal Project.find(1), project.parent
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 test "#create by admin user should continue" do
@request.session[:user_id] = 1
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 assert_difference 'Project.count' do
post :create, :project => {:name => "blog", :identifier => "blog"}, :continue => 'Create and continue'
end
assert_redirected_to '/projects/new'
end
test "#create by non-admin user with add_project permission should create a new project" do
Role.non_member.add_permission! :add_project
@request.session[:user_id] = 9
post :create, :project => { :name => "blog",
:description => "weblog",
:identifier => "blog",
:is_public => 1,
:custom_field_values => { '3' => 'Beta' },
:tracker_ids => ['1', '3'],
:enabled_module_names => ['issue_tracking', 'news', 'repository']
}
assert_redirected_to '/projects/blog/settings'
project = Project.find_by_name('blog')
assert_kind_of Project, project
assert_equal 'weblog', project.description
assert_equal true, project.is_public?
assert_equal [1, 3], project.trackers.map(&:id).sort
assert_equal ['issue_tracking', 'news', 'repository'], project.enabled_module_names.sort
# User should be added as a project member
assert User.find(9).member_of?(project)
assert_equal 1, project.members.size
end
test "#create by non-admin user with add_project permission should fail with parent_id" do
Role.non_member.add_permission! :add_project
@request.session[:user_id] = 9
assert_no_difference 'Project.count' do
post :create, :project => { :name => "blog",
:description => "weblog",
:identifier => "blog",
:is_public => 1,
:custom_field_values => { '3' => 'Beta' },
:parent_id => 1
}
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 end
Jean-Philippe Lang
Code cleanup....
r11208 assert_response :success
project = assigns(:project)
assert_kind_of Project, project
Toshi MARUYAMA
not use assert_not_nil in Errors#[]...
r11840 assert_not_equal [], project.errors[:parent_id]
Jean-Philippe Lang
Code cleanup....
r11208 end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 test "#create by non-admin user with add_subprojects permission should create a project with a parent_id" do
Role.find(1).remove_permission! :add_project
Role.find(1).add_permission! :add_subprojects
@request.session[:user_id] = 2
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 post :create, :project => { :name => "blog",
:description => "weblog",
:identifier => "blog",
:is_public => 1,
:custom_field_values => { '3' => 'Beta' },
:parent_id => 1
}
assert_redirected_to '/projects/blog/settings'
project = Project.find_by_name('blog')
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 test "#create by non-admin user with add_subprojects permission should fail without parent_id" do
Role.find(1).remove_permission! :add_project
Role.find(1).add_permission! :add_subprojects
@request.session[:user_id] = 2
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 assert_no_difference 'Project.count' do
post :create, :project => { :name => "blog",
:description => "weblog",
:identifier => "blog",
:is_public => 1,
:custom_field_values => { '3' => 'Beta' }
}
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 end
Jean-Philippe Lang
Code cleanup....
r11208 assert_response :success
project = assigns(:project)
assert_kind_of Project, project
Toshi MARUYAMA
not use assert_not_nil in Errors#[]...
r11840 assert_not_equal [], project.errors[:parent_id]
Jean-Philippe Lang
Code cleanup....
r11208 end
test "#create by non-admin user with add_subprojects permission should fail with unauthorized parent_id" do
Role.find(1).remove_permission! :add_project
Role.find(1).add_permission! :add_subprojects
@request.session[:user_id] = 2
assert !User.find(2).member_of?(Project.find(6))
assert_no_difference 'Project.count' do
post :create, :project => { :name => "blog",
:description => "weblog",
:identifier => "blog",
:is_public => 1,
:custom_field_values => { '3' => 'Beta' },
:parent_id => 6
}
end
assert_response :success
project = assigns(:project)
assert_kind_of Project, project
Toshi MARUYAMA
not use assert_not_nil in Errors#[]...
r11840 assert_not_equal [], project.errors[:parent_id]
Jean-Philippe Lang
Adds missing native eol properties....
r2781 end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Optionaly inherit members from parent project (#5605)....
r11068 def test_create_subproject_with_inherit_members_should_inherit_members
Role.find_by_name('Manager').add_permission! :add_subprojects
parent = Project.find(1)
@request.session[:user_id] = 2
assert_difference 'Project.count' do
post :create, :project => {
:name => 'inherited', :identifier => 'inherited', :parent_id => parent.id, :inherit_members => '1'
}
assert_response 302
end
project = Project.order('id desc').first
assert_equal 'inherited', project.name
assert_equal parent, project.parent
assert project.memberships.count > 0
assert_equal parent.memberships.count, project.memberships.count
end
Jean-Philippe Lang
Modules selection lost on project form after validation failure (#8012)....
r5145 def test_create_should_preserve_modules_on_validation_failure
with_settings :default_projects_modules => ['issue_tracking', 'repository'] do
@request.session[:user_id] = 1
assert_no_difference 'Project.count' do
post :create, :project => {
:name => "blog",
:identifier => "",
:enabled_module_names => %w(issue_tracking news)
}
end
assert_response :success
project = assigns(:project)
assert_equal %w(issue_tracking news), project.enabled_module_names.sort
end
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 def test_show_by_id
get :show, :id => 1
assert_response :success
assert_template 'show'
assert_not_nil assigns(:project)
end
def test_show_by_identifier
get :show, :id => 'ecookbook'
assert_response :success
assert_template 'show'
assert_not_nil assigns(:project)
assert_equal Project.find_by_identifier('ecookbook'), assigns(:project)
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 assert_select 'li', :text => /Development status/
Jean-Philippe Lang
Adds a "visible" option on User and Project custom fields (#1738)....
r4268 end
Jean-Philippe Lang
Fixed that the sidebar may be displayed empty (#15414)....
r12079 def test_show_should_not_display_empty_sidebar
p = Project.find(1)
p.enabled_module_names = []
p.save!
get :show, :id => 'ecookbook'
assert_response :success
assert_select '#main.nosidebar'
end
Jean-Philippe Lang
Adds a "visible" option on User and Project custom fields (#1738)....
r4268 def test_show_should_not_display_hidden_custom_fields
ProjectCustomField.find_by_name('Development status').update_attribute :visible, false
get :show, :id => 'ecookbook'
assert_response :success
assert_template 'show'
assert_not_nil assigns(:project)
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 assert_select 'li', :text => /Development status/, :count => 0
Jean-Philippe Lang
Adds missing native eol properties....
r2781 end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 def test_show_should_not_fail_when_custom_values_are_nil
project = Project.find_by_identifier('ecookbook')
project.custom_values.first.update_attribute(:value, nil)
get :show, :id => 'ecookbook'
assert_response :success
assert_template 'show'
assert_not_nil assigns(:project)
assert_equal Project.find_by_identifier('ecookbook'), assigns(:project)
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Improved error message when trying to access an archived project (#2995)....
r4171 def show_archived_project_should_be_denied
project = Project.find_by_identifier('ecookbook')
project.archive!
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Improved error message when trying to access an archived project (#2995)....
r4171 get :show, :id => 'ecookbook'
assert_response 403
assert_nil assigns(:project)
Jean-Philippe Lang
Code cleanup....
r11208 assert_select 'p', :text => /archived/
Jean-Philippe Lang
Improved error message when trying to access an archived project (#2995)....
r4171 end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 def test_show_should_not_show_private_subprojects_that_are_not_visible
Jean-Philippe Lang
Adds missing native eol properties....
r2781 get :show, :id => 'ecookbook'
assert_response :success
assert_template 'show'
Jean-Philippe Lang
Code cleanup....
r11208 assert_select 'a', :text => /Private child/, :count => 0
Jean-Philippe Lang
Adds missing native eol properties....
r2781 end
Jean-Philippe Lang
Code cleanup....
r11208 def test_show_should_show_private_subprojects_that_are_visible
Jean-Philippe Lang
Adds missing native eol properties....
r2781 @request.session[:user_id] = 2 # manager who is a member of the private subproject
get :show, :id => 'ecookbook'
assert_response :success
assert_template 'show'
Jean-Philippe Lang
Code cleanup....
r11208 assert_select 'a', :text => /Private child/
Jean-Philippe Lang
Adds missing native eol properties....
r2781 end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 def test_settings
@request.session[:user_id] = 2 # manager
get :settings, :id => 1
assert_response :success
assert_template 'settings'
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Typo that triggers an error when editing a subproject (#5605)....
r11071 def test_settings_of_subproject
@request.session[:user_id] = 2
get :settings, :id => 'private-child'
assert_response :success
assert_template 'settings'
Jean-Philippe Lang
Typo that makes the checkbox not visible (#5605)....
r11072
assert_select 'input[type=checkbox][name=?]', 'project[inherit_members]'
Jean-Philippe Lang
Typo that triggers an error when editing a subproject (#5605)....
r11071 end
Jean-Philippe Lang
Ability to close projects (read-only) (#3640)....
r9700 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
Eric Davis
Refactor: split method ProjectsController#edit to ProjectsController#update....
r3956 def test_update
Jean-Philippe Lang
Adds missing native eol properties....
r2781 @request.session[:user_id] = 2 # manager
Eric Davis
Refactor: split method ProjectsController#edit to ProjectsController#update....
r3956 post :update, :id => 1, :project => {:name => 'Test changed name',
Jean-Philippe Lang
Adds missing native eol properties....
r2781 :issue_custom_field_ids => ['']}
Jean-Philippe Lang
Adds leading slash to all assert_redirected_to arguments (#6887)....
r4293 assert_redirected_to '/projects/ecookbook/settings'
Jean-Philippe Lang
Adds missing native eol properties....
r2781 project = Project.find(1)
assert_equal 'Test changed name', project.name
end
Jean-Philippe Lang
Changes ProjectsController#modules param name and add tests....
r4527
Jean-Philippe Lang
Adds functional tests....
r8825 def test_update_with_failure
@request.session[:user_id] = 2 # manager
post :update, :id => 1, :project => {:name => ''}
assert_response :success
assert_template 'settings'
Jean-Philippe Lang
Upgrade to Rails 3.2.8 (#11758)....
r10092 assert_error_tag :content => /name can&#x27;t be blank/i
Jean-Philippe Lang
Adds functional tests....
r8825 end
Jean-Philippe Lang
Ability to close projects (read-only) (#3640)....
r9700 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
Jean-Philippe Lang
Changes ProjectsController#modules param name and add tests....
r4527 def test_modules
@request.session[:user_id] = 2
Project.find(1).enabled_module_names = ['issue_tracking', 'news']
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Changes ProjectsController#modules param name and add tests....
r4527 post :modules, :id => 1, :enabled_module_names => ['issue_tracking', 'repository', 'documents']
assert_redirected_to '/projects/ecookbook/settings/modules'
assert_equal ['documents', 'issue_tracking', 'repository'], Project.find(1).enabled_module_names.sort
end
Jean-Philippe Lang
Code cleanup....
r11208 def test_destroy_leaf_project_without_confirmation_should_show_confirmation
Jean-Philippe Lang
Adds missing native eol properties....
r2781 @request.session[:user_id] = 1 # admin
Jean-Philippe Lang
Code cleanup....
r11208
assert_no_difference 'Project.count' do
delete :destroy, :id => 2
assert_response :success
assert_template 'destroy'
end
end
def test_destroy_without_confirmation_should_show_confirmation_with_subprojects
@request.session[:user_id] = 1 # admin
assert_no_difference 'Project.count' do
delete :destroy, :id => 1
assert_response :success
assert_template 'destroy'
end
assert_select 'strong',
:text => ['Private child of eCookbook',
Toshi MARUYAMA
fix confirmation page has broken HTML when a project folding sub project is deleted (#11511)...
r9900 'Child of private child, eCookbook Subproject 1',
'eCookbook Subproject 2'].join(', ')
Jean-Philippe Lang
Adds missing native eol properties....
r2781 end
Jean-Philippe Lang
Code cleanup....
r11208 def test_destroy_with_confirmation_should_destroy_the_project_and_subprojects
Jean-Philippe Lang
Adds missing native eol properties....
r2781 @request.session[:user_id] = 1 # admin
Jean-Philippe Lang
Code cleanup....
r11208
assert_difference 'Project.count', -5 do
delete :destroy, :id => 1, :confirm => 1
assert_redirected_to '/admin/projects'
end
Jean-Philippe Lang
Adds missing native eol properties....
r2781 assert_nil Project.find_by_id(1)
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 def test_archive
@request.session[:user_id] = 1 # admin
post :archive, :id => 1
Jean-Philippe Lang
Adds leading slash to all assert_redirected_to arguments (#6887)....
r4293 assert_redirected_to '/admin/projects'
Jean-Philippe Lang
Adds missing native eol properties....
r2781 assert !Project.find(1).active?
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds functional tests....
r8825 def test_archive_with_failure
@request.session[:user_id] = 1
Project.any_instance.stubs(:archive).returns(false)
post :archive, :id => 1
assert_redirected_to '/admin/projects'
assert_match /project cannot be archived/i, flash[:error]
end
Jean-Philippe Lang
Adds missing native eol properties....
r2781 def test_unarchive
@request.session[:user_id] = 1 # admin
Project.find(1).archive
post :unarchive, :id => 1
Jean-Philippe Lang
Adds leading slash to all assert_redirected_to arguments (#6887)....
r4293 assert_redirected_to '/admin/projects'
Jean-Philippe Lang
Adds missing native eol properties....
r2781 assert Project.find(1).active?
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Ability to close projects (read-only) (#3640)....
r9700 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
Jean-Philippe Lang
Adds missing native eol properties....
r2781 def test_project_breadcrumbs_should_be_limited_to_3_ancestors
CustomField.delete_all
parent = nil
6.times do |i|
Jean-Philippe Lang
Code cleanup....
r11208 p = Project.generate_with_parent!(parent)
Jean-Philippe Lang
Adds missing native eol properties....
r2781 get :show, :id => p
Jean-Philippe Lang
Code cleanup....
r11208 assert_select '#header h1' do
assert_select 'a', :count => [i, 3].min
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 parent = p
end
end
Jean-Philippe Lang
Fixed: selected modules are not activated when copying a project (#8244)....
r5461 def test_get_copy
Jean-Philippe Lang
Adds missing native eol properties....
r2781 @request.session[:user_id] = 1 # admin
get :copy, :id => 1
assert_response :success
assert_template 'copy'
assert assigns(:project)
assert_equal Project.find(1).description, assigns(:project).description
assert_nil assigns(:project).id
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Code cleanup....
r11208 assert_select 'input[name=?][value=?]', 'project[enabled_module_names][]', 'issue_tracking', 1
Jean-Philippe Lang
Adds missing native eol properties....
r2781 end
Jean-Philippe Lang
Code cleanup....
r10676 def test_get_copy_with_invalid_source_should_respond_with_404
@request.session[:user_id] = 1
get :copy, :id => 99
assert_response 404
end
Jean-Philippe Lang
Adds functional test for project copy....
r5235 def test_post_copy_should_copy_requested_items
@request.session[:user_id] = 1 # admin
CustomField.delete_all
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds functional test for project copy....
r5235 assert_difference 'Project.count' do
post :copy, :id => 1,
:project => {
:name => 'Copy',
:identifier => 'unique-copy',
:tracker_ids => ['1', '2', '3', ''],
Jean-Philippe Lang
Fixed: selected modules are not activated when copying a project (#8244)....
r5461 :enabled_module_names => %w(issue_tracking time_tracking)
Jean-Philippe Lang
Adds functional test for project copy....
r5235 },
:only => %w(issues versions)
Eric Davis
Redirect to project settings after copying a project. #6443...
r4071 end
Jean-Philippe Lang
Adds functional test for project copy....
r5235 project = Project.find('unique-copy')
source = Project.find(1)
Jean-Philippe Lang
Fixed: selected modules are not activated when copying a project (#8244)....
r5461 assert_equal %w(issue_tracking time_tracking), project.enabled_module_names.sort
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds functional test for project copy....
r5235 assert_equal source.versions.count, project.versions.count, "All versions were not copied"
Jean-Philippe Lang
Issues assigned to a locked/closed version are now copied (#11207)....
r10153 assert_equal source.issues.count, project.issues.count, "All issues were not copied"
Jean-Philippe Lang
Adds functional test for project copy....
r5235 assert_equal 0, project.members.count
end
def test_post_copy_should_redirect_to_settings_when_successful
@request.session[:user_id] = 1 # admin
post :copy, :id => 1, :project => {:name => 'Copy', :identifier => 'unique-copy'}
assert_response :redirect
assert_redirected_to :controller => 'projects', :action => 'settings', :id => 'unique-copy'
Eric Davis
Redirect to project settings after copying a project. #6443...
r4071 end
Jean-Philippe Lang
Adds missing native eol properties....
r2781 def test_jump_should_redirect_to_active_tab
get :show, :id => 1, :jump => 'issues'
Jean-Philippe Lang
Adds leading slash to all assert_redirected_to arguments (#6887)....
r4293 assert_redirected_to '/projects/ecookbook/issues'
Jean-Philippe Lang
Adds missing native eol properties....
r2781 end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 def test_jump_should_not_redirect_to_inactive_tab
get :show, :id => 3, :jump => 'documents'
assert_response :success
assert_template 'show'
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 def test_jump_should_not_redirect_to_unknown_tab
get :show, :id => 3, :jump => 'foobar'
assert_response :success
assert_template 'show'
end
Jean-Philippe Lang
Adds a project specific css class to body (#14767)....
r11940
def test_body_should_have_project_css_class
get :show, :id => 1
assert_select 'body.project-ecookbook'
end
Jean-Philippe Lang
Adds missing native eol properties....
r2781 end