X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/92a88941187db826b1885306698dcc115c6dbce9..2a3bc0a38789b29b8798eafd80fc4fb77c5c7957:/test/functional/user_controller_test.rb diff --git a/test/functional/user_controller_test.rb b/test/functional/user_controller_test.rb index 578f477f6..8b2238829 100644 --- a/test/functional/user_controller_test.rb +++ b/test/functional/user_controller_test.rb @@ -55,11 +55,12 @@ class UserControllerTest < ActionController::TestCase ) assert_routing( - { :path => "/user/terms", :method => :get }, - { :controller => "user", :action => "terms" } + { :path => "/user/new", :method => :post }, + { :controller => "user", :action => "create" } ) + assert_routing( - { :path => "/user/terms", :method => :post }, + { :path => "/user/terms", :method => :get }, { :controller => "user", :action => "terms" } ) @@ -198,17 +199,17 @@ class UserControllerTest < ActionController::TestCase assert_select "html", :count => 1 do assert_select "head", :count => 1 do - assert_select "title", :text => /Create account/, :count => 1 + assert_select "title", :text => /Sign Up/, :count => 1 end assert_select "body", :count => 1 do assert_select "div#content", :count => 1 do - assert_select "form[action='/user/terms'][method=post]", :count => 1 do + assert_select "form[action='/user/new'][method=post]", :count => 1 do assert_select "input[id=user_email]", :count => 1 assert_select "input[id=user_email_confirmation]", :count => 1 assert_select "input[id=user_display_name]", :count => 1 assert_select "input[id=user_pass_crypt][type=password]", :count => 1 assert_select "input[id=user_pass_crypt_confirmation][type=password]", :count => 1 - assert_select "input[type=submit][value=Continue]", :count => 1 + assert_select "input[type=submit][value=Sign Up]", :count => 1 end end end @@ -237,8 +238,8 @@ class UserControllerTest < ActionController::TestCase assert_match /#{@url}/, register_email.body.to_s # Check the page - assert_redirected_to :action => 'login', :referer => nil - + assert_redirected_to :action => 'confirm', :display_name => display_name + ActionMailer::Base.deliveries.clear end @@ -258,8 +259,7 @@ class UserControllerTest < ActionController::TestCase end assert_response :success assert_template 'new' - assert_select "div#errorExplanation" - assert_select "table#signupForm > tr > td > div[class=field_with_errors] > input#user_email" + assert_select "form > fieldset > div.form-row > div.field_with_errors > input#user_email" end def test_user_create_submit_duplicate_email_uppercase @@ -278,8 +278,7 @@ class UserControllerTest < ActionController::TestCase end assert_response :success assert_template 'new' - assert_select "div#errorExplanation" - assert_select "table#signupForm > tr > td > div[class=field_with_errors] > input#user_email" + assert_select "form > fieldset > div.form-row > div.field_with_errors > input#user_email" end def test_user_create_submit_duplicate_name @@ -298,8 +297,7 @@ class UserControllerTest < ActionController::TestCase end assert_response :success assert_template 'new' - assert_select "div#errorExplanation" - assert_select "table#signupForm > tr > td > div[class=field_with_errors] > input#user_display_name" + assert_select "form > fieldset > div.form-row > div.field_with_errors > input#user_display_name" end def test_user_create_submit_duplicate_name_uppercase @@ -318,8 +316,24 @@ class UserControllerTest < ActionController::TestCase end assert_response :success assert_template 'new' - assert_select "div#errorExplanation" - assert_select "table#signupForm > tr > td > div[class=field_with_errors] > input#user_display_name" + assert_select "form > fieldset > div.form-row > div.field_with_errors > input#user_display_name" + end + + def test_user_terms_new_user + get :terms, {}, { "new_user" => User.new } + assert_response :success + assert_template :terms + end + + def test_user_terms_seen + user = users(:normal_user) + + # Set the username cookie + @request.cookies["_osm_username"] = user.display_name + + get :terms, {}, { "user" => user } + assert_response :redirect + assert_redirected_to :action => :account, :display_name => user.display_name end def test_user_lost_password @@ -413,7 +427,7 @@ class UserControllerTest < ActionController::TestCase assert_template :account assert_select "div#errorExplanation", false assert_select "div#notice", /^User information updated successfully/ - assert_select "table#accountForm > tr > td > div#user_description_container > div#user_description_content > textarea#user_description", user.description + assert_select "form#accountForm > fieldset > div.form-row > div#user_description_container > div#user_description_content > textarea#user_description", user.description # Changing name to one that exists should fail user.display_name = users(:public_user).display_name @@ -422,7 +436,7 @@ class UserControllerTest < ActionController::TestCase assert_template :account assert_select "div#notice", false assert_select "div#errorExplanation" - assert_select "table#accountForm > tr > td > div[class=field_with_errors] > input#user_display_name" + assert_select "form#accountForm > fieldset > div.form-row > div.field_with_errors > input#user_display_name" # Changing name to one that exists should fail, regardless of case user.display_name = users(:public_user).display_name.upcase @@ -431,7 +445,7 @@ class UserControllerTest < ActionController::TestCase assert_template :account assert_select "div#notice", false assert_select "div#errorExplanation" - assert_select "table#accountForm > tr > td > div[class=field_with_errors] > input#user_display_name" + assert_select "form#accountForm > fieldset > div.form-row > div.field_with_errors > input#user_display_name" # Changing name to one that doesn't exist should work user.display_name = "new tester" @@ -440,7 +454,7 @@ class UserControllerTest < ActionController::TestCase assert_template :account assert_select "div#errorExplanation", false assert_select "div#notice", /^User information updated successfully/ - assert_select "table#accountForm > tr > td > input#user_display_name[value=?]", user.display_name + assert_select "form#accountForm > fieldset > div.form-row > input#user_display_name[value=?]", user.display_name # Need to update cookies now to stay valid @request.cookies["_osm_username"] = user.display_name @@ -452,7 +466,7 @@ class UserControllerTest < ActionController::TestCase assert_template :account assert_select "div#notice", false assert_select "div#errorExplanation" - assert_select "table#accountForm > tr > td > div[class=field_with_errors] > input#user_new_email" + assert_select "form#accountForm > fieldset > div.form-row > div.field_with_errors > input#user_new_email" # Changing email to one that exists should fail, regardless of case user.new_email = users(:public_user).email.upcase @@ -461,7 +475,7 @@ class UserControllerTest < ActionController::TestCase assert_template :account assert_select "div#notice", false assert_select "div#errorExplanation" - assert_select "table#accountForm > tr > td > div[class=field_with_errors] > input#user_new_email" + assert_select "form#accountForm > fieldset > div.form-row > div.field_with_errors > input#user_new_email" # Changing email to one that doesn't exist should work user.new_email = "new_tester@example.com" @@ -470,7 +484,7 @@ class UserControllerTest < ActionController::TestCase assert_template :account assert_select "div#errorExplanation", false assert_select "div#notice", /^User information updated successfully/ - assert_select "table#accountForm > tr > td > input#user_new_email[value=?]", user.new_email + assert_select "form#accountForm > fieldset > div.form-row > input#user_new_email[value=?]", user.new_email end # Check that the user account page will display and contains some relevant