##// END OF EJS Templates
Pass parameters with :params in controller tests....
Jean-Philippe Lang -
r15282:c364e6ee9b2e
parent child
Show More
@@ -42,7 +42,7 class UsersControllerTest < Redmine::ControllerTest
42 42 end
43 43
44 44 def test_index_with_status_filter
45 get :index, :status => 3
45 get :index, :params => {:status => 3}
46 46 assert_response :success
47 47 assert_template 'index'
48 48 assert_not_nil assigns(:users)
@@ -50,7 +50,7 class UsersControllerTest < Redmine::ControllerTest
50 50 end
51 51
52 52 def test_index_with_name_filter
53 get :index, :name => 'john'
53 get :index, :params => {:name => 'john'}
54 54 assert_response :success
55 55 assert_template 'index'
56 56 users = assigns(:users)
@@ -60,7 +60,7 class UsersControllerTest < Redmine::ControllerTest
60 60 end
61 61
62 62 def test_index_with_group_filter
63 get :index, :group_id => '10'
63 get :index, :params => {:group_id => '10'}
64 64 assert_response :success
65 65 assert_template 'index'
66 66 users = assigns(:users)
@@ -73,7 +73,7 class UsersControllerTest < Redmine::ControllerTest
73 73
74 74 def test_show
75 75 @request.session[:user_id] = nil
76 get :show, :id => 2
76 get :show, :params => {:id => 2}
77 77 assert_response :success
78 78 assert_template 'show'
79 79 assert_not_nil assigns(:user)
@@ -84,7 +84,7 class UsersControllerTest < Redmine::ControllerTest
84 84 def test_show_should_not_display_hidden_custom_fields
85 85 @request.session[:user_id] = nil
86 86 UserCustomField.find_by_name('Phone number').update_attribute :visible, false
87 get :show, :id => 2
87 get :show, :params => {:id => 2}
88 88 assert_response :success
89 89 assert_template 'show'
90 90 assert_not_nil assigns(:user)
@@ -99,19 +99,19 class UsersControllerTest < Redmine::ControllerTest
99 99 custom_field = CustomField.create!(:name => 'Testing', :field_format => 'text')
100 100 custom_value = user.custom_values.build(:custom_field => custom_field).save!
101 101
102 get :show, :id => 2
102 get :show, :params => {:id => 2}
103 103 assert_response :success
104 104 end
105 105
106 106 def test_show_inactive
107 107 @request.session[:user_id] = nil
108 get :show, :id => 5
108 get :show, :params => {:id => 5}
109 109 assert_response 404
110 110 end
111 111
112 112 def test_show_inactive_by_admin
113 113 @request.session[:user_id] = 1
114 get :show, :id => 5
114 get :show, :params => {:id => 5}
115 115 assert_response 200
116 116 assert_not_nil assigns(:user)
117 117 end
@@ -121,13 +121,13 class UsersControllerTest < Redmine::ControllerTest
121 121 user = User.generate!
122 122
123 123 @request.session[:user_id] = nil
124 get :show, :id => user.id
124 get :show, :params => {:id => user.id}
125 125 assert_response 404
126 126 end
127 127
128 128 def test_show_displays_memberships_based_on_project_visibility
129 129 @request.session[:user_id] = 1
130 get :show, :id => 2
130 get :show, :params => {:id => 2}
131 131 assert_response :success
132 132 memberships = assigns(:memberships)
133 133 assert_not_nil memberships
@@ -137,13 +137,13 class UsersControllerTest < Redmine::ControllerTest
137 137
138 138 def test_show_current_should_require_authentication
139 139 @request.session[:user_id] = nil
140 get :show, :id => 'current'
140 get :show, :params => {:id => 'current'}
141 141 assert_response 302
142 142 end
143 143
144 144 def test_show_current
145 145 @request.session[:user_id] = 2
146 get :show, :id => 'current'
146 get :show, :params => {:id => 'current'}
147 147 assert_response :success
148 148 assert_template 'show'
149 149 assert_equal User.find(2), assigns(:user)
@@ -161,7 +161,7 class UsersControllerTest < Redmine::ControllerTest
161 161
162 162 assert_difference 'User.count' do
163 163 assert_difference 'ActionMailer::Base.deliveries.size' do
164 post :create,
164 post :create, :params => {
165 165 :user => {
166 166 :firstname => 'John',
167 167 :lastname => 'Doe',
@@ -172,6 +172,7 class UsersControllerTest < Redmine::ControllerTest
172 172 :mail_notification => 'none'
173 173 },
174 174 :send_information => '1'
175 }
175 176 end
176 177 end
177 178
@@ -193,7 +194,7 class UsersControllerTest < Redmine::ControllerTest
193 194
194 195 def test_create_with_preferences
195 196 assert_difference 'User.count' do
196 post :create,
197 post :create, :params => {
197 198 :user => {
198 199 :firstname => 'John',
199 200 :lastname => 'Doe',
@@ -209,6 +210,7 class UsersControllerTest < Redmine::ControllerTest
209 210 'comments_sorting' => 'desc',
210 211 'warn_on_leaving_unsaved' => '0'
211 212 }
213 }
212 214 end
213 215 user = User.order('id DESC').first
214 216 assert_equal 'jdoe', user.login
@@ -220,7 +222,8 class UsersControllerTest < Redmine::ControllerTest
220 222
221 223 def test_create_with_generate_password_should_email_the_password
222 224 assert_difference 'User.count' do
223 post :create, :user => {
225 post :create, :params => {
226 :user => {
224 227 :login => 'randompass',
225 228 :firstname => 'Random',
226 229 :lastname => 'Pass',
@@ -229,7 +232,9 class UsersControllerTest < Redmine::ControllerTest
229 232 :generate_password => '1',
230 233 :password => '',
231 234 :password_confirmation => ''
232 }, :send_information => 1
235 },
236 :send_information => 1
237 }
233 238 end
234 239 user = User.order('id DESC').first
235 240 assert_equal 'randompass', user.login
@@ -243,19 +248,22 class UsersControllerTest < Redmine::ControllerTest
243 248 end
244 249
245 250 def test_create_and_continue
246 post :create, :user => {
251 post :create, :params => {
252 :user => {
247 253 :login => 'randompass',
248 254 :firstname => 'Random',
249 255 :lastname => 'Pass',
250 256 :mail => 'randompass@example.net',
251 257 :generate_password => '1'
252 }, :continue => '1'
258 },
259 :continue => '1'
260 }
253 261 assert_redirected_to '/users/new?user%5Bgenerate_password%5D=1'
254 262 end
255 263
256 264 def test_create_with_failure
257 265 assert_no_difference 'User.count' do
258 post :create, :user => {}
266 post :create, :params => {:user => {}}
259 267 end
260 268 assert_response :success
261 269 assert_template 'new'
@@ -263,7 +271,7 class UsersControllerTest < Redmine::ControllerTest
263 271
264 272 def test_create_with_failure_sould_preserve_preference
265 273 assert_no_difference 'User.count' do
266 post :create,
274 post :create, :params => {
267 275 :user => {},
268 276 :pref => {
269 277 'no_self_notified' => '1',
@@ -272,6 +280,7 class UsersControllerTest < Redmine::ControllerTest
272 280 'comments_sorting' => 'desc',
273 281 'warn_on_leaving_unsaved' => '0'
274 282 }
283 }
275 284 end
276 285 assert_response :success
277 286 assert_template 'new'
@@ -282,7 +291,7 class UsersControllerTest < Redmine::ControllerTest
282 291
283 292 def test_create_admin_should_send_security_notification
284 293 ActionMailer::Base.deliveries.clear
285 post :create,
294 post :create, :params => {
286 295 :user => {
287 296 :firstname => 'Edgar',
288 297 :lastname => 'Schmoe',
@@ -292,6 +301,7 class UsersControllerTest < Redmine::ControllerTest
292 301 :mail => 'eschmoe@example.foo',
293 302 :admin => '1'
294 303 }
304 }
295 305
296 306 assert_not_nil (mail = ActionMailer::Base.deliveries.last)
297 307 assert_mail_body_match '0.0.0.0', mail
@@ -308,7 +318,7 class UsersControllerTest < Redmine::ControllerTest
308 318
309 319 def test_create_non_admin_should_not_send_security_notification
310 320 ActionMailer::Base.deliveries.clear
311 post :create,
321 post :create, :params => {
312 322 :user => {
313 323 :firstname => 'Edgar',
314 324 :lastname => 'Schmoe',
@@ -318,12 +328,13 class UsersControllerTest < Redmine::ControllerTest
318 328 :mail => 'eschmoe@example.foo',
319 329 :admin => '0'
320 330 }
331 }
321 332 assert_nil ActionMailer::Base.deliveries.last
322 333 end
323 334
324 335
325 336 def test_edit
326 get :edit, :id => 2
337 get :edit, :params => {:id => 2}
327 338 assert_response :success
328 339 assert_template 'edit'
329 340 assert_equal User.find(2), assigns(:user)
@@ -332,16 +343,18 class UsersControllerTest < Redmine::ControllerTest
332 343 def test_edit_registered_user
333 344 assert User.find(2).register!
334 345
335 get :edit, :id => 2
346 get :edit, :params => {:id => 2}
336 347 assert_response :success
337 348 assert_select 'a', :text => 'Activate'
338 349 end
339 350
340 351 def test_update
341 352 ActionMailer::Base.deliveries.clear
342 put :update, :id => 2,
353 put :update, :params => {
354 :id => 2,
343 355 :user => {:firstname => 'Changed', :mail_notification => 'only_assigned'},
344 356 :pref => {:hide_mail => '1', :comments_sorting => 'desc'}
357 }
345 358 user = User.find(2)
346 359 assert_equal 'Changed', user.firstname
347 360 assert_equal 'only_assigned', user.mail_notification
@@ -352,14 +365,20 class UsersControllerTest < Redmine::ControllerTest
352 365
353 366 def test_update_with_failure
354 367 assert_no_difference 'User.count' do
355 put :update, :id => 2, :user => {:firstname => ''}
368 put :update, :params => {
369 :id => 2,
370 :user => {:firstname => ''}
371 }
356 372 end
357 373 assert_response :success
358 374 assert_template 'edit'
359 375 end
360 376
361 377 def test_update_with_group_ids_should_assign_groups
362 put :update, :id => 2, :user => {:group_ids => ['10']}
378 put :update, :params => {
379 :id => 2,
380 :user => {:group_ids => ['10']}
381 }
363 382 user = User.find(2)
364 383 assert_equal [10], user.group_ids
365 384 end
@@ -372,7 +391,10 class UsersControllerTest < Redmine::ControllerTest
372 391 ActionMailer::Base.deliveries.clear
373 392 Setting.bcc_recipients = '1'
374 393
375 put :update, :id => u.id, :user => {:status => User::STATUS_ACTIVE}
394 put :update, :params => {
395 :id => u.id,
396 :user => {:status => User::STATUS_ACTIVE}
397 }
376 398 assert u.reload.active?
377 399 mail = ActionMailer::Base.deliveries.last
378 400 assert_not_nil mail
@@ -384,7 +406,11 class UsersControllerTest < Redmine::ControllerTest
384 406 ActionMailer::Base.deliveries.clear
385 407 Setting.bcc_recipients = '1'
386 408
387 put :update, :id => 2, :user => {:password => 'newpass123', :password_confirmation => 'newpass123'}, :send_information => '1'
409 put :update, :params => {
410 :id => 2,
411 :user => {:password => 'newpass123', :password_confirmation => 'newpass123'},
412 :send_information => '1'
413 }
388 414 u = User.find(2)
389 415 assert u.check_password?('newpass123')
390 416
@@ -398,11 +424,15 class UsersControllerTest < Redmine::ControllerTest
398 424 ActionMailer::Base.deliveries.clear
399 425 Setting.bcc_recipients = '1'
400 426
401 put :update, :id => 2, :user => {
427 put :update, :params => {
428 :id => 2,
429 :user => {
402 430 :generate_password => '1',
403 431 :password => '',
404 432 :password_confirmation => ''
405 }, :send_information => '1'
433 },
434 :send_information => '1'
435 }
406 436
407 437 mail = ActionMailer::Base.deliveries.last
408 438 assert_not_nil mail
@@ -413,12 +443,15 class UsersControllerTest < Redmine::ControllerTest
413 443 end
414 444
415 445 def test_update_without_generate_password_should_not_change_password
416 put :update, :id => 2, :user => {
446 put :update, :params => {
447 :id => 2, :user => {
417 448 :firstname => 'changed',
418 449 :generate_password => '0',
419 450 :password => '',
420 451 :password_confirmation => ''
421 }, :send_information => '1'
452 },
453 :send_information => '1'
454 }
422 455
423 456 user = User.find(2)
424 457 assert_equal 'changed', user.firstname
@@ -431,14 +464,17 class UsersControllerTest < Redmine::ControllerTest
431 464 u.auth_source = AuthSource.find(1)
432 465 u.save!
433 466
434 put :update, :id => u.id, :user => {:auth_source_id => '', :password => 'newpass123', :password_confirmation => 'newpass123'}
467 put :update, :params => {
468 :id => u.id,
469 :user => {:auth_source_id => '', :password => 'newpass123', :password_confirmation => 'newpass123'}
470 }
435 471
436 472 assert_equal nil, u.reload.auth_source
437 473 assert u.check_password?('newpass123')
438 474 end
439 475
440 476 def test_update_notified_project
441 get :edit, :id => 2
477 get :edit, :params => {:id => 2}
442 478 assert_response :success
443 479 assert_template 'edit'
444 480 u = User.find(2)
@@ -446,11 +482,13 class UsersControllerTest < Redmine::ControllerTest
446 482 assert_equal [1, 2, 5], u.notified_projects_ids.sort
447 483 assert_select 'input[name=?][value=?]', 'user[notified_project_ids][]', '1'
448 484 assert_equal 'all', u.mail_notification
449 put :update, :id => 2,
485 put :update, :params => {
486 :id => 2,
450 487 :user => {
451 488 :mail_notification => 'selected',
452 489 :notified_project_ids => [1, 2]
453 490 }
491 }
454 492 u = User.find(2)
455 493 assert_equal 'selected', u.mail_notification
456 494 assert_equal [1, 2], u.notified_projects_ids.sort
@@ -461,7 +499,10 class UsersControllerTest < Redmine::ControllerTest
461 499 user.pref[:no_self_notified] = '1'
462 500 user.pref.save
463 501
464 put :update, :id => 2, :user => {:status => 3}
502 put :update, :params => {
503 :id => 2,
504 :user => {:status => 3}
505 }
465 506 assert_response 302
466 507 user = User.find(2)
467 508 assert_equal 3, user.status
@@ -470,8 +511,9 class UsersControllerTest < Redmine::ControllerTest
470 511
471 512 def test_update_assign_admin_should_send_security_notification
472 513 ActionMailer::Base.deliveries.clear
473 put :update, :id => 2, :user => {
474 :admin => 1
514 put :update, :params => {
515 :id => 2,
516 :user => {:admin => 1}
475 517 }
476 518
477 519 assert_not_nil (mail = ActionMailer::Base.deliveries.last)
@@ -489,8 +531,9 class UsersControllerTest < Redmine::ControllerTest
489 531 user.save!
490 532
491 533 ActionMailer::Base.deliveries.clear
492 put :update, :id => user.id, :user => {
493 :admin => 0
534 put :update, :params => {
535 :id => user.id,
536 :user => {:admin => 0}
494 537 }
495 538
496 539 assert_not_nil (mail = ActionMailer::Base.deliveries.last)
@@ -508,8 +551,9 class UsersControllerTest < Redmine::ControllerTest
508 551 user.save!
509 552
510 553 ActionMailer::Base.deliveries.clear
511 put :update, :id => 2, :user => {
512 :status => Principal::STATUS_LOCKED
554 put :update, :params => {
555 :id => 2,
556 :user => {:status => Principal::STATUS_LOCKED}
513 557 }
514 558
515 559 assert_not_nil (mail = ActionMailer::Base.deliveries.last)
@@ -523,7 +567,7 class UsersControllerTest < Redmine::ControllerTest
523 567 # if user is already locked, destroying should not send a second mail
524 568 # (for active admins see furtherbelow)
525 569 ActionMailer::Base.deliveries.clear
526 delete :destroy, :id => 1
570 delete :destroy, :params => {:id => 1}
527 571 assert_nil ActionMailer::Base.deliveries.last
528 572
529 573 end
@@ -533,8 +577,9 class UsersControllerTest < Redmine::ControllerTest
533 577 user.admin = true
534 578 user.save!
535 579 ActionMailer::Base.deliveries.clear
536 put :update, :id => user.id, :user => {
537 :status => Principal::STATUS_ACTIVE
580 put :update, :params => {
581 :id => user.id,
582 :user => {:status => Principal::STATUS_ACTIVE}
538 583 }
539 584
540 585 assert_not_nil (mail = ActionMailer::Base.deliveries.last)
@@ -548,15 +593,16 class UsersControllerTest < Redmine::ControllerTest
548 593
549 594 def test_update_admin_unrelated_property_should_not_send_security_notification
550 595 ActionMailer::Base.deliveries.clear
551 put :update, :id => 1, :user => {
552 :firstname => 'Jimmy'
596 put :update, :params => {
597 :id => 1,
598 :user => {:firstname => 'Jimmy'}
553 599 }
554 600 assert_nil ActionMailer::Base.deliveries.last
555 601 end
556 602
557 603 def test_destroy
558 604 assert_difference 'User.count', -1 do
559 delete :destroy, :id => 2
605 delete :destroy, :params => {:id => 2}
560 606 end
561 607 assert_redirected_to '/users'
562 608 assert_nil User.find_by_id(2)
@@ -566,14 +612,14 class UsersControllerTest < Redmine::ControllerTest
566 612 @request.session[:user_id] = 3
567 613
568 614 assert_no_difference 'User.count' do
569 get :destroy, :id => 2
615 get :destroy, :params => {:id => 2}
570 616 end
571 617 assert_response 403
572 618 end
573 619
574 620 def test_destroy_should_redirect_to_back_url_param
575 621 assert_difference 'User.count', -1 do
576 delete :destroy, :id => 2, :back_url => '/users?name=foo'
622 delete :destroy, :params => {:id => 2, :back_url => '/users?name=foo'}
577 623 end
578 624 assert_redirected_to '/users?name=foo'
579 625 end
@@ -583,7 +629,7 class UsersControllerTest < Redmine::ControllerTest
583 629 user.admin = true
584 630 user.save!
585 631 ActionMailer::Base.deliveries.clear
586 delete :destroy, :id => user.id
632 delete :destroy, :params => {:id => user.id}
587 633
588 634 assert_not_nil (mail = ActionMailer::Base.deliveries.last)
589 635 assert_mail_body_match I18n.t(:mail_body_security_notification_remove, field: I18n.t(:field_admin), value: user.login), mail
@@ -278,6 +278,14 module Redmine
278 278 end
279 279
280 280 class ControllerTest < ActionController::TestCase
281 def process(method, path, parameters={}, options={})
282 if parameters.key?(:params)
283 raise ArgumentError if options.present?
284 super method, path, parameters[:params], parameters.except(:params)
285 else
286 super
287 end
288 end
281 289 end
282 290
283 291 class IntegrationTest < ActionDispatch::IntegrationTest
General Comments 0
You need to be logged in to leave comments. Login now