3 class UserCreationTest < ActionDispatch::IntegrationTest
 
   9     OmniAuth.config.test_mode = true
 
  15     OmniAuth.config.mock_auth[:openid] = nil
 
  16     OmniAuth.config.mock_auth[:google] = nil
 
  17     OmniAuth.config.mock_auth[:facebook] = nil
 
  18     OmniAuth.config.mock_auth[:windowslive] = nil
 
  19     OmniAuth.config.test_mode = false
 
  22   def test_create_user_form
 
  23     I18n.available_locales.each do |locale|
 
  24       get_via_redirect "/user/new", {}, { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
 
  25       assert_response :success
 
  26       assert_template "user/new"
 
  30   def test_user_create_submit_duplicate_email
 
  31     I18n.available_locales.each do |locale|
 
  32       dup_email = users(:public_user).email
 
  33       display_name = "#{locale}_new_tester"
 
  34       assert_difference("User.count", 0) do
 
  35         assert_difference("ActionMailer::Base.deliveries.size", 0) do
 
  37                { :user => { :email => dup_email, :email_confirmation => dup_email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } },
 
  38                { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
 
  41       assert_response :success
 
  42       assert_template "user/new"
 
  43       assert_equal locale.to_s, response.headers["Content-Language"] unless locale == :root
 
  44       assert_select "form > fieldset > div.form-row > input.field_with_errors#user_email"
 
  45       assert_no_missing_translations
 
  49   def test_user_create_submit_duplicate_username
 
  50     I18n.available_locales.each do |locale|
 
  51       dup_display_name = users(:public_user).display_name
 
  52       email = "#{locale}_new_tester"
 
  53       assert_difference("User.count", 0) do
 
  54         assert_difference("ActionMailer::Base.deliveries.size", 0) do
 
  56                { :user => { :email => email, :email_confirmation => email, :display_name => dup_display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } },
 
  57                { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
 
  60       assert_response :success
 
  61       assert_template "user/new"
 
  62       assert_select "form > fieldset > div.form-row > input.field_with_errors#user_display_name"
 
  63       assert_no_missing_translations
 
  67   def test_user_create_success
 
  68     I18n.available_locales.each do |locale|
 
  69       new_email = "#{locale}newtester@osm.org"
 
  70       display_name = "#{locale}_new_tester"
 
  72       assert_difference("User.count", 0) do
 
  73         assert_difference("ActionMailer::Base.deliveries.size", 0) do
 
  75                :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" }
 
  79       assert_redirected_to "/user/terms"
 
  81       assert_difference("User.count") do
 
  82         assert_difference("ActionMailer::Base.deliveries.size", 1) do
 
  83           post_via_redirect "/user/save", {},
 
  84                             { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
 
  89       register_email = ActionMailer::Base.deliveries.first
 
  91       assert_equal register_email.to[0], new_email
 
  92       # Check that the confirm account url is correct
 
  93       assert_match /#{@url}/, register_email.body.to_s
 
  96       assert_response :success
 
  97       assert_template "user/confirm"
 
  99       ActionMailer::Base.deliveries.clear
 
 103   # Check that the user can successfully recover their password
 
 104   def lost_password_recovery_success
 
 105     # Open the lost password form
 
 106     # Submit the lost password form
 
 108     # Submit the reset password token
 
 109     # Check that the password has changed, and the user can login
 
 112   def test_user_create_redirect
 
 113     new_email = "redirect_tester@osm.org"
 
 114     display_name = "redirect_tester"
 
 115     password = "testtest"
 
 116     # nothing special about this page, just need a protected page to redirect back to.
 
 117     referer = "/traces/mine"
 
 118     assert_difference("User.count") do
 
 119       assert_difference("ActionMailer::Base.deliveries.size", 1) do
 
 121              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => password, :pass_crypt_confirmation => password }, :referer => referer
 
 122         assert_redirected_to "/user/terms"
 
 123         post_via_redirect "/user/save",
 
 124                           :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => password, :pass_crypt_confirmation => password }
 
 129     register_email = ActionMailer::Base.deliveries.first
 
 131     assert_equal register_email.to[0], new_email
 
 132     # Check that the confirm account url is correct
 
 133     confirm_regex = Regexp.new("/user/redirect_tester/confirm\\?confirm_string=([a-zA-Z0-9]*)")
 
 134     register_email.parts.each do |part|
 
 135       assert_match confirm_regex, part.body.to_s
 
 137     confirm_string = register_email.parts[0].body.match(confirm_regex)[1]
 
 140     assert_response :success
 
 141     assert_template "user/confirm"
 
 143     ActionMailer::Base.deliveries.clear
 
 145     # Go to the confirmation page
 
 146     get "/user/#{display_name}/confirm", :confirm_string => confirm_string
 
 147     assert_response :success
 
 148     assert_template "user/confirm"
 
 150     post "/user/#{display_name}/confirm", :confirm_string => confirm_string
 
 151     assert_response :redirect
 
 153     assert_response :success
 
 154     assert_template "site/welcome"
 
 157   def test_user_create_openid_success
 
 158     OmniAuth.config.add_mock(:openid, :uid => "http://localhost:1123/new.tester")
 
 160     new_email = "newtester-openid@osm.org"
 
 161     display_name = "new_tester-openid"
 
 162     password = "testtest"
 
 163     assert_difference("User.count") do
 
 164       assert_difference("ActionMailer::Base.deliveries.size", 1) do
 
 166              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "", :pass_crypt_confirmation => "" }
 
 167         assert_response :redirect
 
 168         assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
 
 170         assert_response :redirect
 
 171         assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
 
 173         assert_response :redirect
 
 174         assert_redirected_to "/user/terms"
 
 176              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => password, :pass_crypt_confirmation => password }
 
 177         assert_response :redirect
 
 183     assert_response :success
 
 184     assert_template "user/confirm"
 
 186     ActionMailer::Base.deliveries.clear
 
 189   def test_user_create_openid_failure
 
 190     OmniAuth.config.mock_auth[:openid] = :connection_failed
 
 192     new_email = "newtester-openid2@osm.org"
 
 193     display_name = "new_tester-openid2"
 
 194     assert_difference("User.count", 0) do
 
 195       assert_difference("ActionMailer::Base.deliveries.size", 0) do
 
 197              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "", :pass_crypt_confirmation => "" }
 
 198         assert_response :redirect
 
 199         assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
 
 201         assert_response :redirect
 
 202         assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
 
 204         assert_response :redirect
 
 205         assert_redirected_to auth_failure_path(:strategy => "openid", :message => "connection_failed", :origin => "/user/new")
 
 207         assert_response :redirect
 
 209         assert_response :success
 
 210         assert_template "user/new"
 
 214     ActionMailer::Base.deliveries.clear
 
 217   def test_user_create_openid_redirect
 
 218     OmniAuth.config.add_mock(:openid, :uid => "http://localhost:1123/new.tester")
 
 220     new_email = "redirect_tester_openid@osm.org"
 
 221     display_name = "redirect_tester_openid"
 
 222     # nothing special about this page, just need a protected page to redirect back to.
 
 223     referer = "/traces/mine"
 
 224     assert_difference("User.count") do
 
 225       assert_difference("ActionMailer::Base.deliveries.size", 1) do
 
 227              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer
 
 228         assert_response :redirect
 
 229         assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
 
 231         assert_response :redirect
 
 232         assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
 
 234         assert_response :redirect
 
 235         assert_redirected_to "/user/terms"
 
 236         post_via_redirect "/user/save",
 
 237                           :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" }
 
 242     register_email = ActionMailer::Base.deliveries.first
 
 244     assert_equal register_email.to[0], new_email
 
 245     # Check that the confirm account url is correct
 
 246     confirm_regex = Regexp.new("/user/redirect_tester_openid/confirm\\?confirm_string=([a-zA-Z0-9]*)")
 
 247     register_email.parts.each do |part|
 
 248       assert_match confirm_regex, part.body.to_s
 
 250     confirm_string = register_email.parts[0].body.match(confirm_regex)[1]
 
 253     assert_response :success
 
 254     assert_template "user/confirm"
 
 256     ActionMailer::Base.deliveries.clear
 
 258     # Go to the confirmation page
 
 259     get "/user/#{display_name}/confirm", :confirm_string => confirm_string
 
 260     assert_response :success
 
 261     assert_template "user/confirm"
 
 263     post "/user/#{display_name}/confirm", :confirm_string => confirm_string
 
 264     assert_response :redirect
 
 266     assert_response :success
 
 267     assert_template "site/welcome"
 
 270   def test_user_create_google_success
 
 271     OmniAuth.config.add_mock(:google, :uid => "123454321", :extra => {
 
 272                                :id_info => { "openid_id" => "http://localhost:1123/new.tester" }
 
 275     new_email = "newtester-google@osm.org"
 
 276     display_name = "new_tester-google"
 
 277     password = "testtest"
 
 278     assert_difference("User.count") do
 
 279       assert_difference("ActionMailer::Base.deliveries.size", 1) do
 
 281              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :pass_crypt => "", :pass_crypt_confirmation => "" }
 
 282         assert_response :redirect
 
 283         assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
 
 285         assert_response :redirect
 
 286         assert_redirected_to auth_success_path(:provider => "google")
 
 288         assert_response :redirect
 
 289         assert_redirected_to "/user/terms"
 
 291              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password }
 
 292         assert_response :redirect
 
 298     assert_response :success
 
 299     assert_template "user/confirm"
 
 301     ActionMailer::Base.deliveries.clear
 
 304   def test_user_create_google_failure
 
 305     OmniAuth.config.mock_auth[:google] = :connection_failed
 
 307     new_email = "newtester-google2@osm.org"
 
 308     display_name = "new_tester-google2"
 
 309     assert_difference("User.count", 0) do
 
 310       assert_difference("ActionMailer::Base.deliveries.size", 0) do
 
 312              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :pass_crypt => "", :pass_crypt_confirmation => "" }
 
 313         assert_response :redirect
 
 314         assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
 
 316         assert_response :redirect
 
 317         assert_redirected_to auth_success_path(:provider => "google")
 
 319         assert_response :redirect
 
 320         assert_redirected_to auth_failure_path(:strategy => "google", :message => "connection_failed", :origin => "/user/new")
 
 322         assert_response :redirect
 
 324         assert_response :success
 
 325         assert_template "user/new"
 
 329     ActionMailer::Base.deliveries.clear
 
 332   def test_user_create_google_redirect
 
 333     OmniAuth.config.add_mock(:google, :uid => "123454321", :extra => {
 
 334                                :id_info => { "openid_id" => "http://localhost:1123/new.tester" }
 
 337     new_email = "redirect_tester_google@osm.org"
 
 338     display_name = "redirect_tester_google"
 
 339     # nothing special about this page, just need a protected page to redirect back to.
 
 340     referer = "/traces/mine"
 
 341     assert_difference("User.count") do
 
 342       assert_difference("ActionMailer::Base.deliveries.size", 1) do
 
 344              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer
 
 345         assert_response :redirect
 
 346         assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
 
 348         assert_response :redirect
 
 349         assert_redirected_to auth_success_path(:provider => "google")
 
 351         assert_response :redirect
 
 352         assert_redirected_to "/user/terms"
 
 353         post_via_redirect "/user/save",
 
 354                           :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" }
 
 359     register_email = ActionMailer::Base.deliveries.first
 
 361     assert_equal register_email.to[0], new_email
 
 362     # Check that the confirm account url is correct
 
 363     confirm_regex = Regexp.new("/user/redirect_tester_google/confirm\\?confirm_string=([a-zA-Z0-9]*)")
 
 364     register_email.parts.each do |part|
 
 365       assert_match confirm_regex, part.body.to_s
 
 367     confirm_string = register_email.parts[0].body.match(confirm_regex)[1]
 
 370     assert_response :success
 
 371     assert_template "user/confirm"
 
 373     ActionMailer::Base.deliveries.clear
 
 375     # Go to the confirmation page
 
 376     get "/user/#{display_name}/confirm", :confirm_string => confirm_string
 
 377     assert_response :success
 
 378     assert_template "user/confirm"
 
 380     post "/user/#{display_name}/confirm", :confirm_string => confirm_string
 
 381     assert_response :redirect
 
 383     assert_response :success
 
 384     assert_template "site/welcome"
 
 387   def test_user_create_facebook_success
 
 388     OmniAuth.config.add_mock(:facebook, :uid => "123454321")
 
 390     new_email = "newtester-facebook@osm.org"
 
 391     display_name = "new_tester-facebook"
 
 392     password = "testtest"
 
 393     assert_difference("User.count") do
 
 394       assert_difference("ActionMailer::Base.deliveries.size", 1) do
 
 396              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :pass_crypt => "", :pass_crypt_confirmation => "" }
 
 397         assert_response :redirect
 
 398         assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
 
 400         assert_response :redirect
 
 401         assert_redirected_to auth_success_path(:provider => "facebook")
 
 403         assert_response :redirect
 
 404         assert_redirected_to "/user/terms"
 
 406              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password }
 
 407         assert_response :redirect
 
 413     assert_response :success
 
 414     assert_template "user/confirm"
 
 416     ActionMailer::Base.deliveries.clear
 
 419   def test_user_create_facebook_failure
 
 420     OmniAuth.config.mock_auth[:facebook] = :connection_failed
 
 422     new_email = "newtester-facebook2@osm.org"
 
 423     display_name = "new_tester-facebook2"
 
 424     assert_difference("User.count", 0) do
 
 425       assert_difference("ActionMailer::Base.deliveries.size", 0) do
 
 427              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :pass_crypt => "", :pass_crypt_confirmation => "" }
 
 428         assert_response :redirect
 
 429         assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
 
 431         assert_response :redirect
 
 432         assert_redirected_to auth_success_path(:provider => "facebook")
 
 434         assert_response :redirect
 
 435         assert_redirected_to auth_failure_path(:strategy => "facebook", :message => "connection_failed", :origin => "/user/new")
 
 437         assert_response :redirect
 
 439         assert_response :success
 
 440         assert_template "user/new"
 
 444     ActionMailer::Base.deliveries.clear
 
 447   def test_user_create_facebook_redirect
 
 448     OmniAuth.config.add_mock(:facebook, :uid => "123454321")
 
 450     new_email = "redirect_tester_facebook@osm.org"
 
 451     display_name = "redirect_tester_facebook"
 
 452     # nothing special about this page, just need a protected page to redirect back to.
 
 453     referer = "/traces/mine"
 
 454     assert_difference("User.count") do
 
 455       assert_difference("ActionMailer::Base.deliveries.size", 1) do
 
 457              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer
 
 458         assert_response :redirect
 
 459         assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
 
 461         assert_response :redirect
 
 462         assert_redirected_to auth_success_path(:provider => "facebook")
 
 464         assert_response :redirect
 
 465         assert_redirected_to "/user/terms"
 
 466         post_via_redirect "/user/save",
 
 467                           :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" }
 
 472     register_email = ActionMailer::Base.deliveries.first
 
 474     assert_equal register_email.to[0], new_email
 
 475     # Check that the confirm account url is correct
 
 476     confirm_regex = Regexp.new("/user/redirect_tester_facebook/confirm\\?confirm_string=([a-zA-Z0-9]*)")
 
 477     register_email.parts.each do |part|
 
 478       assert_match confirm_regex, part.body.to_s
 
 480     confirm_string = register_email.parts[0].body.match(confirm_regex)[1]
 
 483     assert_response :success
 
 484     assert_template "user/confirm"
 
 486     ActionMailer::Base.deliveries.clear
 
 488     # Go to the confirmation page
 
 489     get "/user/#{display_name}/confirm", :confirm_string => confirm_string
 
 490     assert_response :success
 
 491     assert_template "user/confirm"
 
 493     post "/user/#{display_name}/confirm", :confirm_string => confirm_string
 
 494     assert_response :redirect
 
 496     assert_response :success
 
 497     assert_template "site/welcome"
 
 500   def test_user_create_windowslive_success
 
 501     OmniAuth.config.add_mock(:windowslive, :uid => "123454321")
 
 503     new_email = "newtester-windowslive@osm.org"
 
 504     display_name = "new_tester-windowslive"
 
 505     password = "testtest"
 
 506     assert_difference("User.count") do
 
 507       assert_difference("ActionMailer::Base.deliveries.size", 1) do
 
 509              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :pass_crypt => "", :pass_crypt_confirmation => "" }
 
 510         assert_response :redirect
 
 511         assert_redirected_to auth_path(:provider => "windowslive", :origin => "/user/new")
 
 513         assert_response :redirect
 
 514         assert_redirected_to auth_success_path(:provider => "windowslive", :origin => "/user/new")
 
 516         assert_response :redirect
 
 517         assert_redirected_to "/user/terms"
 
 519              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password }
 
 520         assert_response :redirect
 
 526     assert_response :success
 
 527     assert_template "user/confirm"
 
 529     ActionMailer::Base.deliveries.clear
 
 532   def test_user_create_windowslive_failure
 
 533     OmniAuth.config.mock_auth[:windowslive] = :connection_failed
 
 535     new_email = "newtester-windowslive2@osm.org"
 
 536     display_name = "new_tester-windowslive2"
 
 537     assert_difference("User.count", 0) do
 
 538       assert_difference("ActionMailer::Base.deliveries.size", 0) do
 
 540              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :pass_crypt => "", :pass_crypt_confirmation => "" }
 
 541         assert_response :redirect
 
 542         assert_redirected_to auth_path(:provider => "windowslive", :origin => "/user/new")
 
 544         assert_response :redirect
 
 545         assert_redirected_to auth_success_path(:provider => "windowslive", :origin => "/user/new")
 
 547         assert_response :redirect
 
 548         assert_redirected_to auth_failure_path(:strategy => "windowslive", :message => "connection_failed", :origin => "/user/new")
 
 550         assert_response :redirect
 
 552         assert_response :success
 
 553         assert_template "user/new"
 
 557     ActionMailer::Base.deliveries.clear
 
 560   def test_user_create_windowslive_redirect
 
 561     OmniAuth.config.add_mock(:windowslive, :uid => "123454321")
 
 563     new_email = "redirect_tester_windowslive@osm.org"
 
 564     display_name = "redirect_tester_windowslive"
 
 565     # nothing special about this page, just need a protected page to redirect back to.
 
 566     referer = "/traces/mine"
 
 567     assert_difference("User.count") do
 
 568       assert_difference("ActionMailer::Base.deliveries.size", 1) do
 
 570              :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer
 
 571         assert_response :redirect
 
 572         assert_redirected_to auth_path(:provider => "windowslive", :origin => "/user/new")
 
 574         assert_response :redirect
 
 575         assert_redirected_to auth_success_path(:provider => "windowslive", :origin => "/user/new")
 
 577         assert_response :redirect
 
 578         assert_redirected_to "/user/terms"
 
 579         post_via_redirect "/user/save",
 
 580                           :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" }
 
 585     register_email = ActionMailer::Base.deliveries.first
 
 587     assert_equal register_email.to[0], new_email
 
 588     # Check that the confirm account url is correct
 
 589     confirm_regex = Regexp.new("/user/redirect_tester_windowslive/confirm\\?confirm_string=([a-zA-Z0-9]*)")
 
 590     register_email.parts.each do |part|
 
 591       assert_match confirm_regex, part.body.to_s
 
 593     confirm_string = register_email.parts[0].body.match(confirm_regex)[1]
 
 596     assert_response :success
 
 597     assert_template "user/confirm"
 
 599     ActionMailer::Base.deliveries.clear
 
 601     # Go to the confirmation page
 
 602     get "/user/#{display_name}/confirm", :confirm_string => confirm_string
 
 603     assert_response :success
 
 604     assert_template "user/confirm"
 
 606     post "/user/#{display_name}/confirm", :confirm_string => confirm_string
 
 607     assert_response :redirect
 
 609     assert_response :success
 
 610     assert_template "site/welcome"