##// 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:

r6808:c116aa804032
r7440:ac2dbde135f7
Show More
workflows_controller_test.rb
186 lines | 7.6 KiB | text/x-ruby | RubyLexer
/ test / functional / workflows_controller_test.rb
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 # Redmine - project management software
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808 # Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 #
# 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 test/functional/workflows_controller_test.rb....
r6808 #
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 # 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 test/functional/workflows_controller_test.rb....
r6808 #
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 # 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 a workflow overview screen....
r1912 require 'workflows_controller'
# Re-raise errors caught by the controller.
class WorkflowsController; def rescue_action(e) raise e end; end
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class WorkflowsControllerTest < ActionController::TestCase
Jean-Philippe Lang
By default, only show statuses that are used by the tracker on the workflow edit view....
r3074 fixtures :roles, :trackers, :workflows, :users, :issue_statuses
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 def setup
@controller = WorkflowsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
User.current = nil
@request.session[:user_id] = 1 # admin
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 def test_index
get :index
assert_response :success
assert_template 'index'
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 count = Workflow.count(:all, :conditions => 'role_id = 1 AND tracker_id = 2')
assert_tag :tag => 'a', :content => count.to_s,
:attributes => { :href => '/workflows/edit?role_id=1&amp;tracker_id=2' }
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 def test_get_edit
get :edit
assert_response :success
assert_template 'edit'
assert_not_nil assigns(:roles)
assert_not_nil assigns(:trackers)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 def test_get_edit_with_role_and_tracker
Jean-Philippe Lang
By default, only show statuses that are used by the tracker on the workflow edit view....
r3074 Workflow.delete_all
Workflow.create!(:role_id => 1, :tracker_id => 1, :old_status_id => 2, :new_status_id => 3)
Workflow.create!(:role_id => 2, :tracker_id => 1, :old_status_id => 3, :new_status_id => 5)
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 get :edit, :role_id => 2, :tracker_id => 1
assert_response :success
assert_template 'edit'
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
By default, only show statuses that are used by the tracker on the workflow edit view....
r3074 # used status only
assert_not_nil assigns(:statuses)
assert_equal [2, 3, 5], assigns(:statuses).collect(&:id)
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 # allowed transitions
assert_tag :tag => 'input', :attributes => { :type => 'checkbox',
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 :name => 'issue_status[3][5][]',
:value => 'always',
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 :checked => 'checked' }
# not allowed
assert_tag :tag => 'input', :attributes => { :type => 'checkbox',
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 :name => 'issue_status[3][2][]',
:value => 'always',
Jean-Philippe Lang
By default, only show statuses that are used by the tracker on the workflow edit view....
r3074 :checked => nil }
# unused
assert_no_tag :tag => 'input', :attributes => { :type => 'checkbox',
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 :name => 'issue_status[1][1][]' }
Jean-Philippe Lang
By default, only show statuses that are used by the tracker on the workflow edit view....
r3074 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
By default, only show statuses that are used by the tracker on the workflow edit view....
r3074 def test_get_edit_with_role_and_tracker_and_all_statuses
Workflow.delete_all
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
By default, only show statuses that are used by the tracker on the workflow edit view....
r3074 get :edit, :role_id => 2, :tracker_id => 1, :used_statuses_only => '0'
assert_response :success
assert_template 'edit'
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
By default, only show statuses that are used by the tracker on the workflow edit view....
r3074 assert_not_nil assigns(:statuses)
assert_equal IssueStatus.count, assigns(:statuses).size
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
By default, only show statuses that are used by the tracker on the workflow edit view....
r3074 assert_tag :tag => 'input', :attributes => { :type => 'checkbox',
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 :name => 'issue_status[1][1][]',
:value => 'always',
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 :checked => nil }
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 def test_post_edit
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 post :edit, :role_id => 2, :tracker_id => 1,
:issue_status => {
'4' => {'5' => ['always']},
'3' => {'1' => ['always'], '2' => ['always']}
}
Jean-Philippe Lang
Slight changes in functional tests....
r2233 assert_redirected_to '/workflows/edit?role_id=2&tracker_id=1'
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 assert_equal 3, Workflow.count(:conditions => {:tracker_id => 1, :role_id => 2})
assert_not_nil Workflow.find(:first, :conditions => {:role_id => 2, :tracker_id => 1, :old_status_id => 3, :new_status_id => 2})
assert_nil Workflow.find(:first, :conditions => {:role_id => 2, :tracker_id => 1, :old_status_id => 5, :new_status_id => 4})
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 def test_post_edit_with_additional_transitions
post :edit, :role_id => 2, :tracker_id => 1,
:issue_status => {
'4' => {'5' => ['always']},
'3' => {'1' => ['author'], '2' => ['assignee'], '4' => ['author', 'assignee']}
}
assert_redirected_to '/workflows/edit?role_id=2&tracker_id=1'
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 assert_equal 4, Workflow.count(:conditions => {:tracker_id => 1, :role_id => 2})
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 w = Workflow.find(:first, :conditions => {:role_id => 2, :tracker_id => 1, :old_status_id => 4, :new_status_id => 5})
assert ! w.author
assert ! w.assignee
w = Workflow.find(:first, :conditions => {:role_id => 2, :tracker_id => 1, :old_status_id => 3, :new_status_id => 1})
assert w.author
assert ! w.assignee
w = Workflow.find(:first, :conditions => {:role_id => 2, :tracker_id => 1, :old_status_id => 3, :new_status_id => 2})
assert ! w.author
assert w.assignee
w = Workflow.find(:first, :conditions => {:role_id => 2, :tracker_id => 1, :old_status_id => 3, :new_status_id => 4})
assert w.author
assert w.assignee
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 def test_clear_workflow
assert Workflow.count(:conditions => {:tracker_id => 1, :role_id => 2}) > 0
post :edit, :role_id => 2, :tracker_id => 1
assert_equal 0, Workflow.count(:conditions => {:tracker_id => 1, :role_id => 2})
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds workflow copy functionality (#1727)....
r3040 def test_get_copy
get :copy
assert_response :success
assert_template 'copy'
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds workflow copy functionality (#1727)....
r3040 def test_post_copy_one_to_one
source_transitions = status_transitions(:tracker_id => 1, :role_id => 2)
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds workflow copy functionality (#1727)....
r3040 post :copy, :source_tracker_id => '1', :source_role_id => '2',
:target_tracker_ids => ['3'], :target_role_ids => ['1']
assert_response 302
assert_equal source_transitions, status_transitions(:tracker_id => 3, :role_id => 1)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds workflow copy functionality (#1727)....
r3040 def test_post_copy_one_to_many
source_transitions = status_transitions(:tracker_id => 1, :role_id => 2)
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds workflow copy functionality (#1727)....
r3040 post :copy, :source_tracker_id => '1', :source_role_id => '2',
:target_tracker_ids => ['2', '3'], :target_role_ids => ['1', '3']
assert_response 302
assert_equal source_transitions, status_transitions(:tracker_id => 2, :role_id => 1)
assert_equal source_transitions, status_transitions(:tracker_id => 3, :role_id => 1)
assert_equal source_transitions, status_transitions(:tracker_id => 2, :role_id => 3)
assert_equal source_transitions, status_transitions(:tracker_id => 3, :role_id => 3)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds workflow copy functionality (#1727)....
r3040 def test_post_copy_many_to_many
source_t2 = status_transitions(:tracker_id => 2, :role_id => 2)
source_t3 = status_transitions(:tracker_id => 3, :role_id => 2)
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds workflow copy functionality (#1727)....
r3040 post :copy, :source_tracker_id => 'any', :source_role_id => '2',
:target_tracker_ids => ['2', '3'], :target_role_ids => ['1', '3']
assert_response 302
assert_equal source_t2, status_transitions(:tracker_id => 2, :role_id => 1)
assert_equal source_t3, status_transitions(:tracker_id => 3, :role_id => 1)
assert_equal source_t2, status_transitions(:tracker_id => 2, :role_id => 3)
assert_equal source_t3, status_transitions(:tracker_id => 3, :role_id => 3)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/workflows_controller_test.rb....
r6808
Jean-Philippe Lang
Adds workflow copy functionality (#1727)....
r3040 # Returns an array of status transitions that can be compared
def status_transitions(conditions)
Workflow.find(:all, :conditions => conditions,
:order => 'tracker_id, role_id, old_status_id, new_status_id').collect {|w| [w.old_status, w.new_status_id]}
end
Jean-Philippe Lang
Adds a workflow overview screen....
r1912 end