##// END OF EJS Templates
Removes RJS from UsersController....
Jean-Philippe Lang -
r9876:47e496f049d7
parent child
Show More
@@ -0,0 +1,1
1 Element.update('tab-content-memberships', '<%= escape_javascript(render :partial => 'users/memberships') %>');
@@ -0,0 +1,6
1 <% if @membership.valid? %>
2 Element.update("tab-content-memberships", '<%= escape_javascript(render :partial => 'users/memberships') %>');
3 new Effect.Highlight("member-<%= @membership.id %>")
4 <% else %>
5 alert('<%= escape_javascript l(:notice_failed_to_save_members, :errors => @membership.errors.full_messages.join(', ')) %>');
6 <% end %>
@@ -183,21 +183,8 class UsersController < ApplicationController
183 183 @membership = Member.edit_membership(params[:membership_id], params[:membership], @user)
184 184 @membership.save
185 185 respond_to do |format|
186 if @membership.valid?
187 format.html { redirect_to :controller => 'users', :action => 'edit', :id => @user, :tab => 'memberships' }
188 format.js {
189 render(:update) {|page|
190 page.replace_html "tab-content-memberships", :partial => 'users/memberships'
191 page.visual_effect(:highlight, "member-#{@membership.id}")
192 }
193 }
194 else
195 format.js {
196 render(:update) {|page|
197 page.alert(l(:notice_failed_to_save_members, :errors => @membership.errors.full_messages.join(', ')))
198 }
199 }
200 end
186 format.html { redirect_to :controller => 'users', :action => 'edit', :id => @user, :tab => 'memberships' }
187 format.js
201 188 end
202 189 end
203 190
@@ -208,7 +195,7 class UsersController < ApplicationController
208 195 end
209 196 respond_to do |format|
210 197 format.html { redirect_to :controller => 'users', :action => 'edit', :id => @user, :tab => 'memberships' }
211 format.js { render(:update) {|page| page.replace_html "tab-content-memberships", :partial => 'users/memberships'} }
198 format.js
212 199 end
213 200 end
214 201
@@ -363,38 +363,45 class UsersControllerTest < ActionController::TestCase
363 363 def test_create_membership_js_format
364 364 assert_difference 'Member.count' do
365 365 post :edit_membership, :id => 7, :membership => {:project_id => 3, :role_ids => [2]}, :format => 'js'
366 assert_response :success
367 assert_template 'edit_membership'
368 assert_equal 'text/javascript', response.content_type
366 369 end
367 assert_response :success
368 assert_select_rjs :replace_html, 'tab-content-memberships'
369 370 member = Member.first(:order => 'id DESC')
370 371 assert_equal User.find(7), member.principal
371 372 assert_equal [2], member.role_ids
372 373 assert_equal 3, member.project_id
374 assert_include 'tab-content-memberships', response.body
373 375 end
374 376
375 377 def test_create_membership_js_format_with_failure
376 378 assert_no_difference 'Member.count' do
377 379 post :edit_membership, :id => 7, :membership => {:project_id => 3}, :format => 'js'
380 assert_response :success
381 assert_template 'edit_membership'
382 assert_equal 'text/javascript', response.content_type
378 383 end
379 assert_response :success
380 assert @response.body.match(/alert/i), "Alert message not sent"
381 assert @response.body.match(/role can't be empty/i), "Error message not sent"
384 assert_include 'alert', response.body, "Alert message not sent"
385 assert_include 'Role can\\\'t be empty', response.body, "Error message not sent"
382 386 end
383 387
384 388 def test_update_membership
385 389 assert_no_difference 'Member.count' do
386 390 put :edit_membership, :id => 2, :membership_id => 1, :membership => { :role_ids => [2]}
391 assert_redirected_to :action => 'edit', :id => '2', :tab => 'memberships'
387 392 end
388 assert_redirected_to :action => 'edit', :id => '2', :tab => 'memberships'
389 393 assert_equal [2], Member.find(1).role_ids
390 394 end
391 395
392 396 def test_update_membership_js_format
393 397 assert_no_difference 'Member.count' do
394 398 put :edit_membership, :id => 2, :membership_id => 1, :membership => {:role_ids => [2]}, :format => 'js'
399 assert_response :success
400 assert_template 'edit_membership'
401 assert_equal 'text/javascript', response.content_type
395 402 end
396 assert_response :success
397 assert_select_rjs :replace_html, 'tab-content-memberships'
403 assert_equal [2], Member.find(1).role_ids
404 assert_include 'tab-content-memberships', response.body
398 405 end
399 406
400 407 def test_destroy_membership
@@ -408,8 +415,11 class UsersControllerTest < ActionController::TestCase
408 415 def test_destroy_membership_js_format
409 416 assert_difference 'Member.count', -1 do
410 417 delete :destroy_membership, :id => 2, :membership_id => 1, :format => 'js'
418 assert_response :success
419 assert_template 'destroy_membership'
420 assert_equal 'text/javascript', response.content_type
411 421 end
412 assert_response :success
413 assert_select_rjs :replace_html, 'tab-content-memberships'
422 assert_nil Member.find_by_id(1)
423 assert_include 'tab-content-memberships', response.body
414 424 end
415 425 end
@@ -160,8 +160,8 class ActiveSupport::TestCase
160 160 assert_tag({:attributes => { :id => 'errorExplanation' }}.merge(options))
161 161 end
162 162
163 def assert_include(expected, s)
164 assert s.include?(expected), "\"#{expected}\" not found in \"#{s}\""
163 def assert_include(expected, s, message=nil)
164 assert s.include?(expected), (message || "\"#{expected}\" not found in \"#{s}\"")
165 165 end
166 166
167 167 def assert_not_include(expected, s)
General Comments 0
You need to be logged in to leave comments. Login now