X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/152414861caa30e9217e3451caabd5a2b983ce2b..30caa3c09ee2108fa5ed77883e4d658d4b58d9af:/test/controllers/confirmations_controller_test.rb?ds=inline
diff --git a/test/controllers/confirmations_controller_test.rb b/test/controllers/confirmations_controller_test.rb
index 083619962..79213441f 100644
--- a/test/controllers/confirmations_controller_test.rb
+++ b/test/controllers/confirmations_controller_test.rb
@@ -38,8 +38,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
def test_confirm_get
user = build(:user, :pending)
post user_new_path, :params => { :user => user.attributes }
- post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
- confirm_string = User.find_by(:email => user.email).tokens.create.token
+ confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
get user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
assert_response :success
@@ -50,8 +49,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
user = build(:user, :pending)
stub_gravatar_request(user.email)
post user_new_path, :params => { :user => user.attributes }
- post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
- confirm_string = User.find_by(:email => user.email).tokens.create.token
+ confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
# Get the confirmation page
get user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
@@ -64,7 +62,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
# Now try to get the confirmation page again
get user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
- assert_response :redirect
assert_redirected_to root_path
end
@@ -72,8 +69,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
user = build(:user, :pending)
stub_gravatar_request(user.email)
post user_new_path, :params => { :user => user.attributes }
- post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
- confirm_string = User.find_by(:email => user.email).tokens.create.token
+ confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
post logout_path
@@ -86,8 +82,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
user = build(:user, :pending)
stub_gravatar_request(user.email)
post user_new_path, :params => { :user => user.attributes }
- post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
- confirm_string = User.find_by(:email => user.email).tokens.create.token
+ confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
assert_redirected_to welcome_path
@@ -97,8 +92,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
user = build(:user, :pending)
stub_gravatar_request(user.email)
post user_new_path, :params => { :user => user.attributes }
- post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
- confirm_string = User.find_by(:email => user.email).tokens.create.token
+ confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
post logout_path
session_for(create(:user))
@@ -112,12 +106,11 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
user = build(:user, :pending)
stub_gravatar_request(user.email)
post user_new_path, :params => { :user => user.attributes }
- post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
- confirm_string = User.find_by(:email => user.email).tokens.create(:referer => new_diary_entry_path).token
+ confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
post logout_path
- post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
+ post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string, :referer => new_diary_entry_path }
assert_redirected_to login_path(:referer => new_diary_entry_path)
assert_match(/Confirmed your account/, flash[:notice])
end
@@ -126,10 +119,9 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
user = build(:user, :pending)
stub_gravatar_request(user.email)
post user_new_path, :params => { :user => user.attributes }
- post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
- confirm_string = User.find_by(:email => user.email).tokens.create(:referer => new_diary_entry_path).token
+ confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
- post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
+ post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string, :referer => new_diary_entry_path }
assert_redirected_to new_diary_entry_path
end
@@ -137,13 +129,12 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
user = build(:user, :pending)
stub_gravatar_request(user.email)
post user_new_path, :params => { :user => user.attributes }
- post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
- confirm_string = User.find_by(:email => user.email).tokens.create(:referer => new_diary_entry_path).token
+ confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
post logout_path
session_for(create(:user))
- post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
+ post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string, :referer => new_diary_entry_path }
assert_redirected_to login_path(:referer => new_diary_entry_path)
assert_match(/Confirmed your account/, flash[:notice])
end
@@ -152,10 +143,11 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
user = build(:user, :pending)
stub_gravatar_request(user.email)
post user_new_path, :params => { :user => user.attributes }
- post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
- confirm_string = User.find_by(:email => user.email).tokens.create(:expiry => 1.day.ago).token
+ confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
- post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
+ travel 2.weeks do
+ post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
+ end
assert_redirected_to :action => "confirm"
assert_match(/confirmation code has expired/, flash[:error])
end
@@ -164,16 +156,15 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
user = build(:user, :pending)
stub_gravatar_request(user.email)
post user_new_path, :params => { :user => user.attributes }
- post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
- confirm_string = User.find_by(:email => user.email).tokens.create(:referer => new_diary_entry_path).token
+ confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
- post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
+ post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string, :referer => new_diary_entry_path }
assert_redirected_to new_diary_entry_path
post logout_path
- confirm_string = User.find_by(:email => user.email).tokens.create(:referer => new_diary_entry_path).token
- post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
+ confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
+ post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string, :referer => new_diary_entry_path }
assert_redirected_to login_path
assert_match(/already been confirmed/, flash[:error])
end
@@ -182,14 +173,12 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
user = build(:user, :pending)
stub_gravatar_request(user.email)
post user_new_path, :params => { :user => user.attributes }
- post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
- confirm_string = User.find_by(:email => user.email).tokens.create.token
+ confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
User.find_by(:display_name => user.display_name).hide!
# Get the confirmation page
get user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
- assert_response :redirect
assert_redirected_to root_path
# Confirm the user
@@ -201,7 +190,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
def test_confirm_resend_success
user = build(:user, :pending)
post user_new_path, :params => { :user => user.attributes }
- post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
assert_difference "ActionMailer::Base.deliveries.size", 1 do
perform_enqueued_jobs do
@@ -209,7 +197,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
end
end
- assert_response :redirect
assert_redirected_to login_path
assert_equal("confirmations/resend_success_flash", flash[:notice][:partial])
assert_equal({ :email => user.email, :sender => Settings.email_from }, flash[:notice][:locals])
@@ -221,26 +208,9 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
ActionMailer::Base.deliveries.clear
end
- def test_confirm_resend_no_token
- user = build(:user, :pending)
- # only complete first half of registration
- post user_new_path, :params => { :user => user.attributes }
-
- assert_no_difference "ActionMailer::Base.deliveries.size" do
- perform_enqueued_jobs do
- get user_confirm_resend_path(user)
- end
- end
-
- assert_response :redirect
- assert_redirected_to login_path
- assert_match "User #{user.display_name} not found.", flash[:error]
- end
-
def test_confirm_resend_deleted
user = build(:user, :pending)
post user_new_path, :params => { :user => user.attributes }
- post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
User.find_by(:display_name => user.display_name).hide!
@@ -250,7 +220,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
end
end
- assert_response :redirect
assert_redirected_to login_path
assert_match "User #{user.display_name} not found.", flash[:error]
end
@@ -262,14 +231,13 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
end
end
- assert_response :redirect
assert_redirected_to login_path
assert_match "User No Such User not found.", flash[:error]
end
def test_confirm_email_get
user = create(:user)
- confirm_string = user.tokens.create.token
+ confirm_string = user.generate_token_for(:new_email)
get user_confirm_email_path, :params => { :confirm_string => confirm_string }
assert_response :success
@@ -279,27 +247,24 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
def test_confirm_email_success
user = create(:user, :new_email => "test-new@example.com")
stub_gravatar_request(user.new_email)
- confirm_string = user.tokens.create.token
+ confirm_string = user.generate_token_for(:new_email)
post user_confirm_email_path, :params => { :confirm_string => confirm_string }
- assert_response :redirect
assert_redirected_to edit_account_path
assert_match(/Confirmed your change of email address/, flash[:notice])
end
def test_confirm_email_already_confirmed
user = create(:user)
- confirm_string = user.tokens.create.token
+ confirm_string = user.generate_token_for(:new_email)
post user_confirm_email_path, :params => { :confirm_string => confirm_string }
- assert_response :redirect
assert_redirected_to edit_account_path
assert_match(/already been confirmed/, flash[:error])
end
def test_confirm_email_bad_token
post user_confirm_email_path, :params => { :confirm_string => "XXXXX" }
- assert_response :redirect
assert_redirected_to edit_account_path
assert_match(/confirmation code has expired or does not exist/, flash[:error])
end
@@ -312,11 +277,10 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
# switch to email that has a gravatar
user = create(:user, :new_email => "test-new@example.com")
stub_gravatar_request(user.new_email, 200)
- confirm_string = user.tokens.create.token
+ confirm_string = user.generate_token_for(:new_email)
# precondition gravatar should be turned off
assert_not user.image_use_gravatar
post user_confirm_email_path, :params => { :confirm_string => confirm_string }
- assert_response :redirect
assert_redirected_to edit_account_path
assert_match(/Confirmed your change of email address/, flash[:notice])
# gravatar use should now be enabled
@@ -327,11 +291,10 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
# switch to email without a gravatar
user = create(:user, :new_email => "test-new@example.com", :image_use_gravatar => true)
stub_gravatar_request(user.new_email, 404)
- confirm_string = user.tokens.create.token
+ confirm_string = user.generate_token_for(:new_email)
# precondition gravatar should be turned on
assert user.image_use_gravatar
post user_confirm_email_path, :params => { :confirm_string => confirm_string }
- assert_response :redirect
assert_redirected_to edit_account_path
assert_match(/Confirmed your change of email address/, flash[:notice])
# gravatar use should now be disabled