X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/efd50cd529990069dc1ca95f66ec6f61471fe29d..b89e6c2274fb9c370c6a607662ab73ea0f89593a:/test/integration/user_creation_test.rb diff --git a/test/integration/user_creation_test.rb b/test/integration/user_creation_test.rb index 144a45a45..ba4c12b8c 100644 --- a/test/integration/user_creation_test.rb +++ b/test/integration/user_creation_test.rb @@ -7,6 +7,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest OmniAuth.config.test_mode = true stub_request(:get, /.*gravatar.com.*d=404/).to_return(:status => 404) + stub_hostip_requests end def teardown @@ -92,7 +93,8 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_difference("ActionMailer::Base.deliveries.size", 1) do perform_enqueued_jobs do post "/user/save", - :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s } + :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }, + :params => { :read_ct => 1, :read_tou => 1 } follow_redirect! end end @@ -113,6 +115,32 @@ class UserCreationTest < ActionDispatch::IntegrationTest end end + def test_user_create_no_tou_failure + 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" + + perform_enqueued_jobs do + post "/user/save", + :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s } + assert_redirected_to "/user/terms" + end + + ActionMailer::Base.deliveries.clear + end + end + # Check that the user can successfully recover their password def lost_password_recovery_success # Open the lost password form @@ -135,7 +163,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => password, :pass_crypt_confirmation => password }, :referer => referer } assert_redirected_to "/user/terms" post "/user/save", - :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => password, :pass_crypt_confirmation => password } } + :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => password, :pass_crypt_confirmation => password }, :read_ct => 1, :read_tou => 1 } follow_redirect! end end @@ -190,7 +218,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_response :redirect assert_redirected_to "/user/terms" post "/user/save", - :params => { :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 } } + :params => { :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 }, :read_ct => 1, :read_tou => 1 } assert_response :redirect follow_redirect! end @@ -255,7 +283,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_response :redirect assert_redirected_to "/user/terms" post "/user/save", - :params => { :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" } } + :params => { :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" }, :read_ct => 1, :read_tou => 1 } follow_redirect! end end @@ -312,7 +340,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_response :redirect assert_redirected_to "/user/terms" post "/user/save", - :params => { :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 } } + :params => { :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 }, :read_ct => 1, :read_tou => 1 } assert_response :redirect follow_redirect! end @@ -379,7 +407,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_response :redirect assert_redirected_to "/user/terms" post "/user/save", - :params => { :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" } } + :params => { :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" }, :read_ct => 1, :read_tou => 1 } follow_redirect! end end @@ -434,7 +462,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_response :redirect assert_redirected_to "/user/terms" post "/user/save", - :params => { :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 } } + :params => { :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 }, :read_ct => 1, :read_tou => 1 } assert_response :redirect follow_redirect! end @@ -499,7 +527,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_response :redirect assert_redirected_to "/user/terms" post "/user/save", - :params => { :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" } } + :params => { :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" }, :read_ct => 1, :read_tou => 1 } follow_redirect! end end @@ -554,7 +582,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_response :redirect assert_redirected_to "/user/terms" post "/user/save", - :params => { :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 } } + :params => { :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 }, :read_ct => 1, :read_tou => 1 } assert_response :redirect follow_redirect! end @@ -619,7 +647,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_response :redirect assert_redirected_to "/user/terms" post "/user/save", - :params => { :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" } } + :params => { :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" }, :read_ct => 1, :read_tou => 1 } follow_redirect! end end @@ -674,7 +702,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_response :redirect assert_redirected_to "/user/terms" post "/user/save", - :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password } } + :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password }, :read_ct => 1, :read_tou => 1 } assert_response :redirect follow_redirect! end @@ -739,7 +767,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_response :redirect assert_redirected_to "/user/terms" post "/user/save", - :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } } + :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" }, :read_ct => 1, :read_tou => 1 } follow_redirect! end end @@ -794,7 +822,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_response :redirect assert_redirected_to "/user/terms" post "/user/save", - :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password } } + :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password }, :read_ct => 1, :read_tou => 1 } assert_response :redirect follow_redirect! end @@ -859,7 +887,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest assert_response :redirect assert_redirected_to "/user/terms" post "/user/save", - :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } } + :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" }, :read_ct => 1, :read_tou => 1 } follow_redirect! end end