@@ -0,0 +1,5 | |||
|
1 | Element.update('relations', '<%= escape_javascript(render :partial => 'issues/relations') %>'); | |
|
2 | <% if @relation.errors.empty? %> | |
|
3 | $('relation_delay').value = '' | |
|
4 | $('relation_issue_to_id').value = '' | |
|
5 | <% end %> |
@@ -0,0 +1,1 | |||
|
1 | Element.remove('<%= "relation-#{@relation.id}" %>'); |
@@ -49,16 +49,9 class IssueRelationsController < ApplicationController | |||
|
49 | 49 | |
|
50 | 50 | respond_to do |format| |
|
51 | 51 | format.html { redirect_to :controller => 'issues', :action => 'show', :id => @issue } |
|
52 |
format.js |
|
|
52 | format.js { | |
|
53 | 53 | @relations = @issue.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? } |
|
54 | render :update do |page| | |
|
55 | page.replace_html "relations", :partial => 'issues/relations' | |
|
56 | if @relation.errors.empty? | |
|
57 | page << "$('relation_delay').value = ''" | |
|
58 | page << "$('relation_issue_to_id').value = ''" | |
|
59 | end | |
|
60 | end | |
|
61 | end | |
|
54 | } | |
|
62 | 55 | format.api { |
|
63 | 56 | if saved |
|
64 | 57 | render :action => 'show', :status => :created, :location => relation_url(@relation) |
@@ -75,7 +68,7 class IssueRelationsController < ApplicationController | |||
|
75 | 68 | |
|
76 | 69 | respond_to do |format| |
|
77 | 70 | format.html { redirect_to issue_path } # TODO : does this really work since @issue is always nil? What is it useful to? |
|
78 | format.js { render(:update) {|page| page.remove "relation-#{@relation.id}"} } | |
|
71 | format.js | |
|
79 | 72 | format.api { render_api_ok } |
|
80 | 73 | end |
|
81 | 74 | end |
@@ -57,17 +57,16 class IssueRelationsControllerTest < ActionController::TestCase | |||
|
57 | 57 | def test_create_xhr |
|
58 | 58 | assert_difference 'IssueRelation.count' do |
|
59 | 59 | @request.session[:user_id] = 3 |
|
60 | xhr :post, :create, | |
|
61 | :issue_id => 3, | |
|
62 | :relation => {:issue_to_id => '1', :relation_type => 'relates', :delay => ''} | |
|
63 | assert_select_rjs 'relations' do | |
|
64 | assert_select 'table', 1 | |
|
65 | assert_select 'tr', 2 # relations | |
|
66 | end | |
|
60 | xhr :post, :create, :issue_id => 3, :relation => {:issue_to_id => '1', :relation_type => 'relates', :delay => ''} | |
|
61 | assert_response :success | |
|
62 | assert_template 'create' | |
|
63 | assert_equal 'text/javascript', response.content_type | |
|
67 | 64 | end |
|
68 | 65 | relation = IssueRelation.first(:order => 'id DESC') |
|
69 | 66 | assert_equal 3, relation.issue_from_id |
|
70 | 67 | assert_equal 1, relation.issue_to_id |
|
68 | ||
|
69 | assert_match /Bug #1/, response.body | |
|
71 | 70 | end |
|
72 | 71 | |
|
73 | 72 | def test_create_should_accept_id_with_hash |
@@ -113,6 +112,19 class IssueRelationsControllerTest < ActionController::TestCase | |||
|
113 | 112 | |
|
114 | 113 | should "prevent relation creation when there's a circular dependency" |
|
115 | 114 | |
|
115 | def test_create_xhr_with_failure | |
|
116 | assert_no_difference 'IssueRelation.count' do | |
|
117 | @request.session[:user_id] = 3 | |
|
118 | xhr :post, :create, :issue_id => 3, :relation => {:issue_to_id => '999', :relation_type => 'relates', :delay => ''} | |
|
119 | ||
|
120 | assert_response :success | |
|
121 | assert_template 'create' | |
|
122 | assert_equal 'text/javascript', response.content_type | |
|
123 | end | |
|
124 | ||
|
125 | assert_match /errorExplanation/, response.body | |
|
126 | end | |
|
127 | ||
|
116 | 128 | def test_destroy |
|
117 | 129 | assert_difference 'IssueRelation.count', -1 do |
|
118 | 130 | @request.session[:user_id] = 3 |
@@ -129,7 +141,11 class IssueRelationsControllerTest < ActionController::TestCase | |||
|
129 | 141 | assert_difference 'IssueRelation.count', -1 do |
|
130 | 142 | @request.session[:user_id] = 3 |
|
131 | 143 | xhr :delete, :destroy, :id => '2' |
|
132 | assert_select_rjs :remove, 'relation-2' | |
|
144 | ||
|
145 | assert_response :success | |
|
146 | assert_template 'destroy' | |
|
147 | assert_equal 'text/javascript', response.content_type | |
|
148 | assert_match /relation-2/, response.body | |
|
133 | 149 | end |
|
134 | 150 | end |
|
135 | 151 | end |
General Comments 0
You need to be logged in to leave comments.
Login now