##// END OF EJS Templates
Fix generation of blank local link when no title is specified in wiki link....
Fix generation of blank local link when no title is specified in wiki link. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7560 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r6797:a117b9a92464
r7440:ac2dbde135f7
Show More
projects_controller_test.rb
545 lines | 18.7 KiB | text/x-ruby | RubyLexer
/ test / functional / projects_controller_test.rb
Jean-Philippe Lang
Adds missing native eol properties....
r2781 # Redmine - project management software
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681 # Copyright (C) 2006-2011 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 require 'projects_controller'
# Re-raise errors caught by the controller.
class ProjectsController; def rescue_action(e) raise e end; end
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
@controller = ProjectsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
@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
Adds missing native eol properties....
r2781 def test_index
get :index
assert_response :success
assert_template 'index'
assert_not_nil assigns(:projects)
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 assert_tag :ul, :child => {:tag => 'li',
:descendant => {:tag => 'a', :content => 'eCookbook'},
:child => { :tag => 'ul',
:descendant => { :tag => 'a',
:content => 'Child of private child'
}
}
}
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 assert_no_tag :a, :content => /Private child of eCookbook/
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
assert_template 'common/feed.atom.rxml'
assert_select 'feed>title', :text => 'Redmine: Latest projects'
Jean-Philippe Lang
Removed calls to deprecated Project.visible_by method....
r5208 assert_select 'feed>entry', :count => Project.count(:conditions => Project.visible_condition(User.current))
Jean-Philippe Lang
Adds missing native eol properties....
r2781 end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Eric Davis
Add a link to the cross project time entries page to /projects. #4935...
r3688 context "#index" do
context "by non-admin user with view_time_entries permission" do
setup do
@request.session[:user_id] = 3
end
should "show overall spent time link" do
get :index
assert_template 'index'
assert_tag :a, :attributes => {:href => '/time_entries'}
end
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Eric Davis
Add a link to the cross project time entries page to /projects. #4935...
r3688 context "by non-admin user without view_time_entries permission" do
setup 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
end
should "not show overall spent time link" do
get :index
assert_template 'index'
assert_no_tag :a, :attributes => {:href => '/time_entries'}
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681 end
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
Eric Davis
Refactor: rename method ProjectsController#add to ProjectsController#new...
r3955 context "#new" do
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 context "by admin user" do
setup do
@request.session[:user_id] = 1
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 should "accept get" do
Eric Davis
Refactor: rename method ProjectsController#add to ProjectsController#new...
r3955 get :new
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 assert_response :success
Eric Davis
Refactor: rename method ProjectsController#add to ProjectsController#new...
r3955 assert_template 'new'
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 end
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953
end
context "by non-admin user with add_project permission" do
setup do
Role.non_member.add_permission! :add_project
@request.session[:user_id] = 9
end
should "accept get" do
Eric Davis
Refactor: rename method ProjectsController#add to ProjectsController#new...
r3955 get :new
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953 assert_response :success
Eric Davis
Refactor: rename method ProjectsController#add to ProjectsController#new...
r3955 assert_template 'new'
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953 assert_no_tag :select, :attributes => {:name => 'project[parent_id]'}
end
end
context "by non-admin user with add_subprojects permission" do
setup do
Role.find(1).remove_permission! :add_project
Role.find(1).add_permission! :add_subprojects
@request.session[:user_id] = 2
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953 should "accept get" do
Eric Davis
Refactor: rename method ProjectsController#add to ProjectsController#new...
r3955 get :new, :parent_id => 'ecookbook'
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953 assert_response :success
Eric Davis
Refactor: rename method ProjectsController#add to ProjectsController#new...
r3955 assert_template 'new'
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953 # parent project selected
assert_tag :select, :attributes => {:name => 'project[parent_id]'},
:child => {:tag => 'option', :attributes => {:value => '1', :selected => 'selected'}}
# no empty value
assert_no_tag :select, :attributes => {:name => 'project[parent_id]'},
:child => {:tag => 'option', :attributes => {:value => ''}}
end
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953 end
context "POST :create" do
context "by admin user" do
setup do
@request.session[:user_id] = 1
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953 should "create a new project" do
Jean-Philippe Lang
Declare safe attributes for User and Projects models....
r4378 post :create,
:project => {
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681 :name => "blog",
Jean-Philippe Lang
Declare safe attributes for User and Projects models....
r4378 :description => "weblog",
:homepage => 'http://weblog',
:identifier => "blog",
:is_public => 1,
:custom_field_values => { '3' => 'Beta' },
Jean-Philippe Lang
Fixed: r4492 breaks the ability to select issue custom fields available for projects issues (#7121)....
r4415 :tracker_ids => ['1', '3'],
# an issue custom field that is not for all project
Jean-Philippe Lang
Moves enabled_module_names param to project attribute so that it can be set through the Project API....
r4525 :issue_custom_field_ids => ['9'],
:enabled_module_names => ['issue_tracking', 'news', 'repository']
Jean-Philippe Lang
Declare safe attributes for User and Projects models....
r4378 }
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 assert_redirected_to '/projects/blog/settings'
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 project = Project.find_by_name('blog')
assert_kind_of Project, project
Jean-Philippe Lang
Declare safe attributes for User and Projects models....
r4378 assert project.active?
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681 assert_equal 'weblog', project.description
Jean-Philippe Lang
Declare safe attributes for User and Projects models....
r4378 assert_equal 'http://weblog', project.homepage
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 assert_equal true, project.is_public?
assert_nil project.parent
Jean-Philippe Lang
Declare safe attributes for User and Projects models....
r4378 assert_equal 'Beta', project.custom_value_for(3).value
assert_equal [1, 3], project.trackers.map(&:id).sort
Jean-Philippe Lang
Moves enabled_module_names param to project attribute so that it can be set through the Project API....
r4525 assert_equal ['issue_tracking', 'news', 'repository'], project.enabled_module_names.sort
Jean-Philippe Lang
Fixed: r4492 breaks the ability to select issue custom fields available for projects issues (#7121)....
r4415 assert project.issue_custom_fields.include?(IssueCustomField.find(9))
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953 should "create a new subproject" do
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681 post :create, :project => { :name => "blog",
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 :description => "weblog",
:identifier => "blog",
:is_public => 1,
:custom_field_values => { '3' => 'Beta' },
:parent_id => 1
}
assert_redirected_to '/projects/blog/settings'
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 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 test/functional/projects_controller_test.rb....
r6797
Jean-Philippe Lang
Adds a 'Create and continue' button on project form....
r6183 should "continue" do
assert_difference 'Project.count' do
post :create, :project => {:name => "blog", :identifier => "blog"}, :continue => 'Create and continue'
end
assert_redirected_to '/projects/new?'
end
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
Adds a 'Add subprojects' permission....
r3124 context "by non-admin user with add_project permission" do
setup do
Role.non_member.add_permission! :add_project
@request.session[:user_id] = 9
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953 should "accept create a Project" do
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681 post :create, :project => { :name => "blog",
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 :description => "weblog",
:identifier => "blog",
:is_public => 1,
Jean-Philippe Lang
Moves enabled_module_names param to project attribute so that it can be set through the Project API....
r4525 :custom_field_values => { '3' => 'Beta' },
:tracker_ids => ['1', '3'],
:enabled_module_names => ['issue_tracking', 'news', 'repository']
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 }
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 assert_redirected_to '/projects/blog/settings'
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 project = Project.find_by_name('blog')
assert_kind_of Project, project
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681 assert_equal 'weblog', project.description
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 assert_equal true, project.is_public?
Jean-Philippe Lang
Moves enabled_module_names param to project attribute so that it can be set through the Project API....
r4525 assert_equal [1, 3], project.trackers.map(&:id).sort
assert_equal ['issue_tracking', 'news', 'repository'], project.enabled_module_names.sort
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 # User should be added as a project member
assert User.find(9).member_of?(project)
assert_equal 1, project.members.size
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 should "fail with parent_id" do
assert_no_difference 'Project.count' do
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681 post :create, :project => { :name => "blog",
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 :description => "weblog",
:identifier => "blog",
:is_public => 1,
:custom_field_values => { '3' => 'Beta' },
:parent_id => 1
}
end
assert_response :success
project = assigns(:project)
assert_kind_of Project, project
assert_not_nil project.errors.on(:parent_id)
end
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 context "by non-admin user with add_subprojects permission" do
setup do
Role.find(1).remove_permission! :add_project
Role.find(1).add_permission! :add_subprojects
@request.session[:user_id] = 2
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Eric Davis
Refactor: split ProjectsController#add into #add (GET) and #create (POST)....
r3953 should "create a project with a parent_id" do
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681 post :create, :project => { :name => "blog",
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 :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
Adds a 'Add subprojects' permission....
r3124 should "fail without parent_id" do
assert_no_difference 'Project.count' do
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681 post :create, :project => { :name => "blog",
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 :description => "weblog",
:identifier => "blog",
:is_public => 1,
:custom_field_values => { '3' => 'Beta' }
}
end
assert_response :success
project = assigns(:project)
assert_kind_of Project, project
assert_not_nil project.errors.on(:parent_id)
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 should "fail with unauthorized parent_id" do
assert !User.find(2).member_of?(Project.find(6))
assert_no_difference 'Project.count' do
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681 post :create, :project => { :name => "blog",
Jean-Philippe Lang
Adds a 'Add subprojects' permission....
r3124 :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
assert_not_nil project.errors.on(:parent_id)
end
end
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
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
Changes ProjectsController#modules param name and add tests....
r4527 def test_create_should_not_accept_get
@request.session[:user_id] = 1
get :create
assert_response :method_not_allowed
Jean-Philippe Lang
Verify HTTP method on ProjectsController#create....
r4526 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
Adds a "visible" option on User and Project custom fields (#1738)....
r4268 assert_tag 'li', :content => /Development status/
end
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
Adds a "visible" option on User and Project custom fields (#1738)....
r4268 assert_no_tag 'li', :content => /Development status/
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)
assert_tag :tag => 'p', :content => /archived/
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 def test_private_subprojects_hidden
get :show, :id => 'ecookbook'
assert_response :success
assert_template 'show'
assert_no_tag :tag => 'a', :content => /Private child/
end
def test_private_subprojects_visible
@request.session[:user_id] = 2 # manager who is a member of the private subproject
get :show, :id => 'ecookbook'
assert_response :success
assert_template 'show'
assert_tag :tag => 'a', :content => /Private child/
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
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
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
def test_modules_should_not_allow_get
@request.session[:user_id] = 1
get :modules, :id => 1
assert_response :method_not_allowed
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 def test_get_destroy
@request.session[:user_id] = 1 # admin
get :destroy, :id => 1
assert_response :success
assert_template 'destroy'
assert_not_nil Project.find_by_id(1)
end
def test_post_destroy
@request.session[:user_id] = 1 # admin
post :destroy, :id => 1, :confirm => 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_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 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
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|
p = Project.create!(:name => "Breadcrumbs #{i}", :identifier => "breadcrumbs-#{i}")
p.set_parent!(parent)
get :show, :id => p
assert_tag :h1, :parent => { :attributes => {:id => 'header'}},
:children => { :count => [i, 3].min,
:only => { :tag => 'a' } }
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
Fixed: selected modules are not activated when copying a project (#8244)....
r5461 assert_tag :tag => 'input',
:attributes => {:name => 'project[enabled_module_names][]', :value => 'issue_tracking'}
Jean-Philippe Lang
Adds missing native eol properties....
r2781 end
Jean-Philippe Lang
Fixed: selected modules are not activated when copying a project (#8244)....
r5461 def test_get_copy_without_project
Jean-Philippe Lang
Adds missing native eol properties....
r2781 @request.session[:user_id] = 1 # admin
get :copy
assert_response :redirect
assert_redirected_to :controller => 'admin', :action => 'projects'
end
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
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"
# issues assigned to a closed version won't be copied
Toshi MARUYAMA
fix functional projects controller test fails in Ruby 1.8.6....
r5357 assert_equal source.issues.select {|i| i.fixed_version.nil? || i.fixed_version.open?}.size,
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
Eric Davis
Added a Activities tab to Project Settings...
r2835
Jean-Philippe Lang
Adds missing native eol properties....
r2781 # A hook that is manually registered later
class ProjectBasedTemplate < Redmine::Hook::ViewListener
def view_layouts_base_html_head(context)
# Adds a project stylesheet
stylesheet_link_tag(context[:project].identifier) if context[:project]
end
end
# Don't use this hook now
Redmine::Hook.clear_listeners
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 def test_hook_response
Redmine::Hook.add_listener(ProjectBasedTemplate)
get :show, :id => 1
assert_tag :tag => 'link', :attributes => {:href => '/stylesheets/ecookbook.css'},
:parent => {:tag => 'head'}
Toshi MARUYAMA
remove trailing white-spaces from functional projects controller test....
r5681
Jean-Philippe Lang
Adds missing native eol properties....
r2781 Redmine::Hook.clear_listeners
end
end