##// END OF EJS Templates
Removes RJS from IssueRelationsController....
Jean-Philippe Lang -
r9862:855310701615
parent child
Show More
@@ -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 respond_to do |format|
50 respond_to do |format|
51 format.html { redirect_to :controller => 'issues', :action => 'show', :id => @issue }
51 format.html { redirect_to :controller => 'issues', :action => 'show', :id => @issue }
52 format.js do
52 format.js {
53 @relations = @issue.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? }
53 @relations = @issue.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? }
54 render :update do |page|
54 }
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
62 format.api {
55 format.api {
63 if saved
56 if saved
64 render :action => 'show', :status => :created, :location => relation_url(@relation)
57 render :action => 'show', :status => :created, :location => relation_url(@relation)
@@ -75,7 +68,7 class IssueRelationsController < ApplicationController
75
68
76 respond_to do |format|
69 respond_to do |format|
77 format.html { redirect_to issue_path } # TODO : does this really work since @issue is always nil? What is it useful to?
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 format.api { render_api_ok }
72 format.api { render_api_ok }
80 end
73 end
81 end
74 end
@@ -57,17 +57,16 class IssueRelationsControllerTest < ActionController::TestCase
57 def test_create_xhr
57 def test_create_xhr
58 assert_difference 'IssueRelation.count' do
58 assert_difference 'IssueRelation.count' do
59 @request.session[:user_id] = 3
59 @request.session[:user_id] = 3
60 xhr :post, :create,
60 xhr :post, :create, :issue_id => 3, :relation => {:issue_to_id => '1', :relation_type => 'relates', :delay => ''}
61 :issue_id => 3,
61 assert_response :success
62 :relation => {:issue_to_id => '1', :relation_type => 'relates', :delay => ''}
62 assert_template 'create'
63 assert_select_rjs 'relations' do
63 assert_equal 'text/javascript', response.content_type
64 assert_select 'table', 1
65 assert_select 'tr', 2 # relations
66 end
67 end
64 end
68 relation = IssueRelation.first(:order => 'id DESC')
65 relation = IssueRelation.first(:order => 'id DESC')
69 assert_equal 3, relation.issue_from_id
66 assert_equal 3, relation.issue_from_id
70 assert_equal 1, relation.issue_to_id
67 assert_equal 1, relation.issue_to_id
68
69 assert_match /Bug #1/, response.body
71 end
70 end
72
71
73 def test_create_should_accept_id_with_hash
72 def test_create_should_accept_id_with_hash
@@ -113,6 +112,19 class IssueRelationsControllerTest < ActionController::TestCase
113
112
114 should "prevent relation creation when there's a circular dependency"
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 def test_destroy
128 def test_destroy
117 assert_difference 'IssueRelation.count', -1 do
129 assert_difference 'IssueRelation.count', -1 do
118 @request.session[:user_id] = 3
130 @request.session[:user_id] = 3
@@ -129,7 +141,11 class IssueRelationsControllerTest < ActionController::TestCase
129 assert_difference 'IssueRelation.count', -1 do
141 assert_difference 'IssueRelation.count', -1 do
130 @request.session[:user_id] = 3
142 @request.session[:user_id] = 3
131 xhr :delete, :destroy, :id => '2'
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 end
149 end
134 end
150 end
135 end
151 end
General Comments 0
You need to be logged in to leave comments. Login now