##// END OF EJS Templates
Fixed: Error deleting issue with grandchild (#8880)....
Fixed: Error deleting issue with grandchild (#8880). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6311 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r6064:42f9dc7d2c5a
r6191:9957883c4ddf
Show More
issue_relations_controller_test.rb
116 lines | 3.7 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
# Copyright (C) 2006-2011 Jean-Philippe Lang
#
# 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.
#
# 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.
#
# 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 require 'issue_relations_controller'
# Re-raise errors caught by the controller.
class IssueRelationsController; def rescue_action(e) raise e end; end
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class IssueRelationsControllerTest < ActionController::TestCase
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,
:trackers
def setup
@controller = IssueRelationsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
User.current = nil
end
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
@request.session[:user_id] = 3
Jean-Philippe Lang
Adds REST API for issue relations (#7366)....
r6056 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
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
@request.session[:user_id] = 3
Jean-Philippe Lang
Adds REST API for issue relations (#7366)....
r6056 xhr :post, :create,
Jean-Philippe Lang
Fixed: Relations are not displayed after adding/removing an issue relation (#7463)....
r4644 :issue_id => 3,
:relation => {:issue_to_id => '1', :relation_type => 'relates', :delay => ''}
assert_select_rjs 'relations' do
assert_select 'table', 1
assert_select 'tr', 2 # relations
end
end
end
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
@request.session[:user_id] = 3
Jean-Philippe Lang
Adds REST API for issue relations (#7366)....
r6056 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
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
@request.session[:user_id] = 3
Jean-Philippe Lang
Adds REST API for issue relations (#7366)....
r6056 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
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)
assert_no_difference 'IssueRelation.count' do
@request.session[:user_id] = 3
Jean-Philippe Lang
Adds REST API for issue relations (#7366)....
r6056 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
should "prevent relation creation when there's a circular dependency"
Jean-Philippe Lang
Adds a few functional tests....
r2899
def test_destroy
assert_difference 'IssueRelation.count', -1 do
@request.session[:user_id] = 3
Jean-Philippe Lang
Makes relations resource shallow (#7366)....
r6064 delete :destroy, :id => '2'
Jean-Philippe Lang
Adds a few functional tests....
r2899 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
assert_difference 'IssueRelation.count', -1 do
@request.session[:user_id] = 3
Jean-Philippe Lang
Makes relations resource shallow (#7366)....
r6064 xhr :delete, :destroy, :id => '2'
assert_select_rjs :remove, 'relation-2'
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