@@ -42,7 +42,7 class IssueRelationsController < ApplicationController | |||
|
42 | 42 | def create |
|
43 | 43 | @relation = IssueRelation.new(params[:relation]) |
|
44 | 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 | 46 | @relation.issue_to = Issue.visible.find_by_id(m[1].to_i) |
|
47 | 47 | end |
|
48 | 48 | saved = @relation.save |
@@ -71,6 +71,16 class IssueRelationsControllerTest < ActionController::TestCase | |||
|
71 | 71 | end |
|
72 | 72 | end |
|
73 | 73 | |
|
74 | def test_create_should_strip_id | |
|
75 | assert_difference 'IssueRelation.count' do | |
|
76 | @request.session[:user_id] = 3 | |
|
77 | post :create, :issue_id => 1, | |
|
78 | :relation => {:issue_to_id => ' 2 ', :relation_type => 'relates', :delay => ''} | |
|
79 | end | |
|
80 | relation = IssueRelation.first(:order => 'id DESC') | |
|
81 | assert_equal 2, relation.issue_to_id | |
|
82 | end | |
|
83 | ||
|
74 | 84 | def test_create_should_not_break_with_non_numerical_id |
|
75 | 85 | assert_no_difference 'IssueRelation.count' do |
|
76 | 86 | assert_nothing_raised do |
General Comments 0
You need to be logged in to leave comments.
Login now