##// END OF EJS Templates
Merged r9384, r9385 from trunk....
Jean-Philippe Lang -
r9252:a4c0c18e3dd0
parent child
Show More
@@ -42,7 +42,7 class IssueRelationsController < ApplicationController
42 def create
42 def create
43 @relation = IssueRelation.new(params[:relation])
43 @relation = IssueRelation.new(params[:relation])
44 @relation.issue_from = @issue
44 @relation.issue_from = @issue
45 if params[:relation] && m = params[:relation][:issue_to_id].to_s.match(/^#?(\d+)$/)
45 if params[:relation] && m = params[:relation][:issue_to_id].to_s.strip.match(/^#?(\d+)$/)
46 @relation.issue_to = Issue.visible.find_by_id(m[1].to_i)
46 @relation.issue_to = Issue.visible.find_by_id(m[1].to_i)
47 end
47 end
48 saved = @relation.save
48 saved = @relation.save
@@ -48,6 +48,10 class IssueRelationsControllerTest < ActionController::TestCase
48 post :create, :issue_id => 1,
48 post :create, :issue_id => 1,
49 :relation => {:issue_to_id => '2', :relation_type => 'relates', :delay => ''}
49 :relation => {:issue_to_id => '2', :relation_type => 'relates', :delay => ''}
50 end
50 end
51 relation = IssueRelation.first(:order => 'id DESC')
52 assert_equal 1, relation.issue_from_id
53 assert_equal 2, relation.issue_to_id
54 assert_equal 'relates', relation.relation_type
51 end
55 end
52
56
53 def test_create_xhr
57 def test_create_xhr
@@ -61,6 +65,9 class IssueRelationsControllerTest < ActionController::TestCase
61 assert_select 'tr', 2 # relations
65 assert_select 'tr', 2 # relations
62 end
66 end
63 end
67 end
68 relation = IssueRelation.first(:order => 'id DESC')
69 assert_equal 3, relation.issue_from_id
70 assert_equal 1, relation.issue_to_id
64 end
71 end
65
72
66 def test_create_should_accept_id_with_hash
73 def test_create_should_accept_id_with_hash
@@ -69,6 +76,18 class IssueRelationsControllerTest < ActionController::TestCase
69 post :create, :issue_id => 1,
76 post :create, :issue_id => 1,
70 :relation => {:issue_to_id => '#2', :relation_type => 'relates', :delay => ''}
77 :relation => {:issue_to_id => '#2', :relation_type => 'relates', :delay => ''}
71 end
78 end
79 relation = IssueRelation.first(:order => 'id DESC')
80 assert_equal 2, relation.issue_to_id
81 end
82
83 def test_create_should_strip_id
84 assert_difference 'IssueRelation.count' do
85 @request.session[:user_id] = 3
86 post :create, :issue_id => 1,
87 :relation => {:issue_to_id => ' 2 ', :relation_type => 'relates', :delay => ''}
88 end
89 relation = IssueRelation.first(:order => 'id DESC')
90 assert_equal 2, relation.issue_to_id
72 end
91 end
73
92
74 def test_create_should_not_break_with_non_numerical_id
93 def test_create_should_not_break_with_non_numerical_id
General Comments 0
You need to be logged in to leave comments. Login now