X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/ad164d384e6215aecb03cf679ca2df7faa38cfb5..47e56741d0358b870b13ab405c870e76d678ea0b:/test/integration/user_creation_test.rb?ds=sidebyside diff --git a/test/integration/user_creation_test.rb b/test/integration/user_creation_test.rb index 2baa6f776..8ec0dc9bc 100644 --- a/test/integration/user_creation_test.rb +++ b/test/integration/user_creation_test.rb @@ -18,149 +18,121 @@ class UserCreationTest < ActionDispatch::IntegrationTest end def test_create_user_form - I18n.with_locale "en" do - I18n.available_locales.each do |locale| - reset! - get "/user/new", :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s } - follow_redirect! - assert_response :success - assert_template "users/new" - end - end + get "/user/new" + follow_redirect! + assert_response :success + assert_template "users/new" end def test_user_create_submit_duplicate_email - I18n.with_locale "en" do - Locale.available.each do |locale| - dup_email = create(:user).email - display_name = "#{locale}_new_tester" - assert_difference("User.count", 0) do - assert_difference("ActionMailer::Base.deliveries.size", 0) do - perform_enqueued_jobs do - post "/user/new", - :params => { :user => { :email => dup_email, - :email_confirmation => dup_email, - :display_name => display_name, - :pass_crypt => "testtest", - :pass_crypt_confirmation => "testtest" } }, - :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s } - end - end + dup_email = create(:user).email + display_name = "new_tester" + assert_difference("User.count", 0) do + assert_difference("ActionMailer::Base.deliveries.size", 0) do + perform_enqueued_jobs do + post "/user/new", + :params => { :user => { :email => dup_email, + :email_confirmation => dup_email, + :display_name => display_name, + :pass_crypt => "testtest", + :pass_crypt_confirmation => "testtest" } } end - assert_response :success - assert_template "users/new" - assert_equal locale.to_s, response.headers["Content-Language"] - assert_select "form" - assert_select "form > div > input.is-invalid#user_email" - assert_no_missing_translations end end + assert_response :success + assert_template "users/new" + assert_select "form" + assert_select "form > div > input.is-invalid#user_email" end def test_user_create_submit_duplicate_username - I18n.with_locale "en" do - I18n.available_locales.each do |locale| - dup_display_name = create(:user).display_name - email = "#{locale}_new_tester" - assert_difference("User.count", 0) do - assert_difference("ActionMailer::Base.deliveries.size", 0) do - perform_enqueued_jobs do - post "/user/new", - :params => { :user => { :email => email, - :email_confirmation => email, - :display_name => dup_display_name, - :pass_crypt => "testtest", - :pass_crypt_confirmation => "testtest" } }, - :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s } - end - end + dup_display_name = create(:user).display_name + email = "new_tester" + assert_difference("User.count", 0) do + assert_difference("ActionMailer::Base.deliveries.size", 0) do + perform_enqueued_jobs do + post "/user/new", + :params => { :user => { :email => email, + :email_confirmation => email, + :display_name => dup_display_name, + :pass_crypt => "testtest", + :pass_crypt_confirmation => "testtest" } } end - assert_response :success - assert_template "users/new" - assert_select "form > div > input.is-invalid#user_display_name" - assert_no_missing_translations end end + assert_response :success + assert_template "users/new" + assert_select "form > div > input.is-invalid#user_display_name" end def test_user_create_success - I18n.with_locale "en" do - I18n.available_locales.each do |locale| - new_email = "#{locale}newtester@osm.org" - display_name = "#{locale}_new_tester" - - assert_difference("User.count", 0) do - assert_difference("ActionMailer::Base.deliveries.size", 0) do - perform_enqueued_jobs do - post "/user/new", - :params => { :user => { :email => new_email, - :email_confirmation => new_email, - :display_name => display_name, - :pass_crypt => "testtest", - :pass_crypt_confirmation => "testtest" } } - end - end + new_email = "newtester@osm.org" + display_name = "new_tester" + + assert_difference("User.count", 0) do + assert_difference("ActionMailer::Base.deliveries.size", 0) do + perform_enqueued_jobs do + post "/user/new", + :params => { :user => { :email => new_email, + :email_confirmation => new_email, + :display_name => display_name, + :pass_crypt => "testtest", + :pass_crypt_confirmation => "testtest" } } end + end + end - assert_redirected_to "/user/terms" - - assert_difference("User.count") do - assert_difference("ActionMailer::Base.deliveries.size", 1) do - perform_enqueued_jobs do - post "/user/save", - :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }, - :params => { :read_ct => 1, :read_tou => 1 } - follow_redirect! - end - end + assert_redirected_to "/user/terms" + + assert_difference("User.count") do + assert_difference("ActionMailer::Base.deliveries.size", 1) do + perform_enqueued_jobs do + post "/user/save", + :params => { :read_ct => 1, :read_tou => 1 } + follow_redirect! end + end + end - # Check the e-mail - register_email = ActionMailer::Base.deliveries.first + # Check the e-mail + register_email = ActionMailer::Base.deliveries.first - assert_equal register_email.to.first, new_email - # Check that the confirm account url is correct - assert_match(/#{@url}/, register_email.body.to_s) + assert_equal register_email.to.first, new_email + # Check that the confirm account url is correct + assert_match(/#{@url}/, register_email.body.to_s) - # Check the page - assert_response :success - assert_template "confirmations/confirm" + # Check the page + assert_response :success + assert_template "confirmations/confirm" - ActionMailer::Base.deliveries.clear - end - end + ActionMailer::Base.deliveries.clear end def test_user_create_no_tou_failure - I18n.with_locale "en" do - I18n.available_locales.each do |locale| - new_email = "#{locale}newtester@osm.org" - display_name = "#{locale}_new_tester" - - assert_difference("User.count", 0) do - assert_difference("ActionMailer::Base.deliveries.size", 0) do - perform_enqueued_jobs do - post "/user/new", - :params => { :user => { :email => new_email, - :email_confirmation => new_email, - :display_name => display_name, - :pass_crypt => "testtest", - :pass_crypt_confirmation => "testtest" } } - end - end - end - - assert_redirected_to "/user/terms" + new_email = "#newtester@osm.org" + display_name = "new_tester" + assert_difference("User.count", 0) do + assert_difference("ActionMailer::Base.deliveries.size", 0) do perform_enqueued_jobs do - post "/user/save", - :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s } - assert_redirected_to "/user/terms" + post "/user/new", + :params => { :user => { :email => new_email, + :email_confirmation => new_email, + :display_name => display_name, + :pass_crypt => "testtest", + :pass_crypt_confirmation => "testtest" } } end - - ActionMailer::Base.deliveries.clear end end + + assert_redirected_to "/user/terms" + + perform_enqueued_jobs do + post "/user/save" + assert_redirected_to "/user/terms" + end + + ActionMailer::Base.deliveries.clear end # Check that the user can successfully recover their password @@ -206,7 +178,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_equal register_email.to.first, new_email # Check that the confirm account url is correct - confirm_regex = Regexp.new("/user/redirect_tester/confirm\\?confirm_string=([a-zA-Z0-9]*)") + confirm_regex = Regexp.new("/user/redirect_tester/confirm\\?confirm_string=([a-zA-Z0-9_-]*)") email_text_parts(register_email).each do |part| assert_match confirm_regex, part.body.to_s end @@ -359,7 +331,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_equal register_email.to.first, new_email # Check that the confirm account url is correct - confirm_regex = Regexp.new("/user/redirect_tester_openid/confirm\\?confirm_string=([a-zA-Z0-9]*)") + confirm_regex = Regexp.new("/user/redirect_tester_openid/confirm\\?confirm_string=([a-zA-Z0-9_-]*)") email_text_parts(register_email).each do |part| assert_match confirm_regex, part.body.to_s end @@ -513,7 +485,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_equal register_email.to.first, new_email # Check that the confirm account url is correct - confirm_regex = Regexp.new("/user/redirect_tester_google/confirm\\?confirm_string=([a-zA-Z0-9]*)") + confirm_regex = Regexp.new("/user/redirect_tester_google/confirm\\?confirm_string=([a-zA-Z0-9_-]*)") email_text_parts(register_email).each do |part| assert_match confirm_regex, part.body.to_s end @@ -665,7 +637,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_equal register_email.to.first, new_email # Check that the confirm account url is correct - confirm_regex = Regexp.new("/user/redirect_tester_facebook/confirm\\?confirm_string=([a-zA-Z0-9]*)") + confirm_regex = Regexp.new("/user/redirect_tester_facebook/confirm\\?confirm_string=([a-zA-Z0-9_-]*)") email_text_parts(register_email).each do |part| assert_match confirm_regex, part.body.to_s end @@ -817,7 +789,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_equal register_email.to.first, new_email # Check that the confirm account url is correct - confirm_regex = Regexp.new("/user/redirect_tester_microsoft/confirm\\?confirm_string=([a-zA-Z0-9]*)") + confirm_regex = Regexp.new("/user/redirect_tester_microsoft/confirm\\?confirm_string=([a-zA-Z0-9_-]*)") email_text_parts(register_email).each do |part| assert_match confirm_regex, part.body.to_s end @@ -971,7 +943,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_equal register_email.to.first, new_email # Check that the confirm account url is correct - confirm_regex = Regexp.new("/user/redirect_tester_github/confirm\\?confirm_string=([a-zA-Z0-9]*)") + confirm_regex = Regexp.new("/user/redirect_tester_github/confirm\\?confirm_string=([a-zA-Z0-9_-]*)") email_text_parts(register_email).each do |part| assert_match confirm_regex, part.body.to_s end @@ -1125,7 +1097,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_equal register_email.to.first, new_email # Check that the confirm account url is correct - confirm_regex = Regexp.new("/user/redirect_tester_wikipedia/confirm\\?confirm_string=([a-zA-Z0-9]*)") + confirm_regex = Regexp.new("/user/redirect_tester_wikipedia/confirm\\?confirm_string=([a-zA-Z0-9_-]*)") email_text_parts(register_email).each do |part| assert_match confirm_regex, part.body.to_s end