##// END OF EJS Templates
Speeds up rendering of the project list for users who belong to hundreds of projects....
Speeds up rendering of the project list for users who belong to hundreds of projects. git-svn-id: http://svn.redmine.org/redmine/trunk@16123 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r15313:ec31b616982f
r15741:f8df935dcada
Show More
issue_relations_controller_test.rb
156 lines | 5.1 KiB | text/x-ruby | RubyLexer
/ test / functional / issue_relations_controller_test.rb
Jean-Philippe Lang
Adds REST API for issue relations (#7366)....
r6056 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Jean-Philippe Lang
Adds REST API for issue relations (#7366)....
r6056 #
# 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/issue_relations_controller_test.rb....
r6787 #
Jean-Philippe Lang
Adds REST API for issue relations (#7366)....
r6056 # 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/issue_relations_controller_test.rb....
r6787 #
Jean-Philippe Lang
Adds REST API for issue relations (#7366)....
r6056 # 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__)
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315
Jean-Philippe Lang
Adds our own class for controller tests....
r15279 class IssueRelationsControllerTest < Redmine::ControllerTest
Jean-Philippe Lang
Fixed: users should not be able to add relations with issues they're not allowed to view (#2589)....
r2321 fixtures :projects,
:users,
:roles,
:members,
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 :member_roles,
Jean-Philippe Lang
Fixed: users should not be able to add relations with issues they're not allowed to view (#2589)....
r2321 :issues,
:issue_statuses,
Jean-Philippe Lang
Adds a few functional tests....
r2899 :issue_relations,
Jean-Philippe Lang
Fixed: users should not be able to add relations with issues they're not allowed to view (#2589)....
r2321 :enabled_modules,
:enumerations,
Jean-Philippe Lang
Missing fixtures....
r11232 :trackers,
:projects_trackers
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_relations_controller_test.rb....
r6787
Jean-Philippe Lang
Fixed: users should not be able to add relations with issues they're not allowed to view (#2589)....
r2321 def setup
User.current = nil
Jean-Philippe Lang
Test cleanup....
r9863 @request.session[:user_id] = 3
Jean-Philippe Lang
Fixed: users should not be able to add relations with issues they're not allowed to view (#2589)....
r2321 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_relations_controller_test.rb....
r6787
Jean-Philippe Lang
Adds REST API for issue relations (#7366)....
r6056 def test_create
Jean-Philippe Lang
Fixed: users should not be able to add relations with issues they're not allowed to view (#2589)....
r2321 assert_difference 'IssueRelation.count' do
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_relations_controller_test.rb....
r6787 post :create, :issue_id => 1,
Jean-Philippe Lang
Fixed: users should not be able to add relations with issues they're not allowed to view (#2589)....
r2321 :relation => {:issue_to_id => '2', :relation_type => 'relates', :delay => ''}
end
Toshi MARUYAMA
Rails4: replace deprecated Relation#first with finder options at IssueRelationsControllerTest...
r12309 relation = IssueRelation.order('id DESC').first
Jean-Philippe Lang
Additional assertions on creation of relations....
r9251 assert_equal 1, relation.issue_from_id
assert_equal 2, relation.issue_to_id
assert_equal 'relates', relation.relation_type
Jean-Philippe Lang
Fixed: users should not be able to add relations with issues they're not allowed to view (#2589)....
r2321 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_relations_controller_test.rb....
r6787
Jean-Philippe Lang
Adds tests for invalid parameters....
r13325 def test_create_on_invalid_issue
assert_no_difference 'IssueRelation.count' do
post :create, :issue_id => 999,
:relation => {:issue_to_id => '2', :relation_type => 'relates', :delay => ''}
assert_response 404
end
end
Jean-Philippe Lang
Adds REST API for issue relations (#7366)....
r6056 def test_create_xhr
Jean-Philippe Lang
Fixed: Relations are not displayed after adding/removing an issue relation (#7463)....
r4644 assert_difference 'IssueRelation.count' do
Jean-Philippe Lang
Removes RJS from IssueRelationsController....
r9862 xhr :post, :create, :issue_id => 3, :relation => {:issue_to_id => '1', :relation_type => 'relates', :delay => ''}
assert_response :success
assert_equal 'text/javascript', response.content_type
Jean-Philippe Lang
Fixed: Relations are not displayed after adding/removing an issue relation (#7463)....
r4644 end
Toshi MARUYAMA
Rails4: replace deprecated Relation#first with finder options at IssueRelationsControllerTest...
r12309 relation = IssueRelation.order('id DESC').first
Jean-Philippe Lang
Additional assertions on creation of relations....
r9251 assert_equal 3, relation.issue_from_id
assert_equal 1, relation.issue_to_id
Jean-Philippe Lang
Removes RJS from IssueRelationsController....
r9862
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15313 assert_include 'Bug #1', response.body
Jean-Philippe Lang
Fixed: Relations are not displayed after adding/removing an issue relation (#7463)....
r4644 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_relations_controller_test.rb....
r6787
Jean-Philippe Lang
Adds REST API for issue relations (#7366)....
r6056 def test_create_should_accept_id_with_hash
Jean-Philippe Lang
Issue relation: fixes error with postgres when entering a non-numeric id (#4820) + accept hash (#) before id....
r3299 assert_difference 'IssueRelation.count' do
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_relations_controller_test.rb....
r6787 post :create, :issue_id => 1,
Jean-Philippe Lang
Issue relation: fixes error with postgres when entering a non-numeric id (#4820) + accept hash (#) before id....
r3299 :relation => {:issue_to_id => '#2', :relation_type => 'relates', :delay => ''}
end
Toshi MARUYAMA
Rails4: replace deprecated Relation#first with finder options at IssueRelationsControllerTest...
r12309 relation = IssueRelation.order('id DESC').first
Jean-Philippe Lang
Additional assertions on creation of relations....
r9251 assert_equal 2, relation.issue_to_id
Jean-Philippe Lang
Issue relation: fixes error with postgres when entering a non-numeric id (#4820) + accept hash (#) before id....
r3299 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_relations_controller_test.rb....
r6787
Jean-Philippe Lang
Strip issue id when adding a relation....
r9250 def test_create_should_strip_id
assert_difference 'IssueRelation.count' do
post :create, :issue_id => 1,
:relation => {:issue_to_id => ' 2 ', :relation_type => 'relates', :delay => ''}
end
Toshi MARUYAMA
Rails4: replace deprecated Relation#first with finder options at IssueRelationsControllerTest...
r12309 relation = IssueRelation.order('id DESC').first
Jean-Philippe Lang
Strip issue id when adding a relation....
r9250 assert_equal 2, relation.issue_to_id
end
Jean-Philippe Lang
Adds REST API for issue relations (#7366)....
r6056 def test_create_should_not_break_with_non_numerical_id
Jean-Philippe Lang
Issue relation: fixes error with postgres when entering a non-numeric id (#4820) + accept hash (#) before id....
r3299 assert_no_difference 'IssueRelation.count' do
assert_nothing_raised do
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_relations_controller_test.rb....
r6787 post :create, :issue_id => 1,
Jean-Philippe Lang
Issue relation: fixes error with postgres when entering a non-numeric id (#4820) + accept hash (#) before id....
r3299 :relation => {:issue_to_id => 'foo', :relation_type => 'relates', :delay => ''}
end
end
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_relations_controller_test.rb....
r6787
Jean-Philippe Lang
Fixed that relations may not be refreshed when adding a follows relation (#13251)....
r11231 def test_create_follows_relation_should_update_relations_list
issue1 = Issue.generate!(:subject => 'Followed issue', :start_date => Date.yesterday, :due_date => Date.today)
issue2 = Issue.generate!
assert_difference 'IssueRelation.count' do
xhr :post, :create, :issue_id => issue2.id,
:relation => {:issue_to_id => issue1.id, :relation_type => 'follows', :delay => ''}
end
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15313 assert_include 'Followed issue', response.body
Jean-Philippe Lang
Fixed that relations may not be refreshed when adding a follows relation (#13251)....
r11231 end
Jean-Philippe Lang
Fixed: users should not be able to add relations with issues they're not allowed to view (#2589)....
r2321 def test_should_create_relations_with_visible_issues_only
Setting.cross_project_issue_relations = '1'
assert_nil Issue.visible(User.find(3)).find_by_id(4)
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_relations_controller_test.rb....
r6787
Jean-Philippe Lang
Fixed: users should not be able to add relations with issues they're not allowed to view (#2589)....
r2321 assert_no_difference 'IssueRelation.count' do
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_relations_controller_test.rb....
r6787 post :create, :issue_id => 1,
Jean-Philippe Lang
Fixed: users should not be able to add relations with issues they're not allowed to view (#2589)....
r2321 :relation => {:issue_to_id => '4', :relation_type => 'relates', :delay => ''}
end
end
Jean-Baptiste Barth
Fixed circular dependencies possibly introduced when using reverse relations, for instance "blocked by" relations (#8616)....
r6004
Jean-Philippe Lang
Removes RJS from IssueRelationsController....
r9862 def test_create_xhr_with_failure
assert_no_difference 'IssueRelation.count' do
xhr :post, :create, :issue_id => 3, :relation => {:issue_to_id => '999', :relation_type => 'relates', :delay => ''}
assert_response :success
assert_equal 'text/javascript', response.content_type
end
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15313 assert_include 'Related issue cannot be blank', response.body
Jean-Philippe Lang
Removes RJS from IssueRelationsController....
r9862 end
Jean-Philippe Lang
Adds a few functional tests....
r2899 def test_destroy
assert_difference 'IssueRelation.count', -1 do
Jean-Philippe Lang
Makes relations resource shallow (#7366)....
r6064 delete :destroy, :id => '2'
Jean-Philippe Lang
Adds a few functional tests....
r2899 end
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_relations_controller_test.rb....
r6787
Jean-Philippe Lang
Adds tests for invalid parameters....
r13325 def test_destroy_invalid_relation
assert_no_difference 'IssueRelation.count' do
delete :destroy, :id => '999'
assert_response 404
end
end
Jean-Philippe Lang
Fixed: Relations are not displayed after adding/removing an issue relation (#7463)....
r4644 def test_destroy_xhr
IssueRelation.create!(:relation_type => IssueRelation::TYPE_RELATES) do |r|
r.issue_from_id = 3
r.issue_to_id = 1
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_relations_controller_test.rb....
r6787
Jean-Philippe Lang
Fixed: Relations are not displayed after adding/removing an issue relation (#7463)....
r4644 assert_difference 'IssueRelation.count', -1 do
Jean-Philippe Lang
Makes relations resource shallow (#7366)....
r6064 xhr :delete, :destroy, :id => '2'
Jean-Philippe Lang
Removes RJS from IssueRelationsController....
r9862
assert_response :success
assert_equal 'text/javascript', response.content_type
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15313 assert_include 'relation-2', response.body
Jean-Philippe Lang
Fixed: Relations are not displayed after adding/removing an issue relation (#7463)....
r4644 end
end
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 end