Merge remote-tracking branch 'openstreetmap/pull/1350'

This commit is contained in:
Tom Hughes 2016-11-09 20:32:54 +00:00
commit 2f722fc281
15 changed files with 95 additions and 69 deletions

View file

@ -8,6 +8,8 @@ class SiteControllerTest < ActionController::TestCase
def setup
Object.const_set("ID_KEY", client_applications(:oauth_web_app).key)
Object.const_set("POTLATCH2_KEY", client_applications(:oauth_web_app).key)
stub_signup_requests
end
##

View file

@ -3,6 +3,10 @@ require "test_helper"
class UserControllerTest < ActionController::TestCase
api_fixtures
def setup
stub_signup_requests
end
##
# test all routes which lead to this controller
def test_routes
@ -392,6 +396,7 @@ class UserControllerTest < ActionController::TestCase
def test_confirm_success_no_token_no_referer
user = users(:inactive_user)
stub_gravatar_request(user.email)
confirm_string = user.tokens.create.token
@request.cookies["_osm_session"] = user.display_name
@ -402,6 +407,7 @@ class UserControllerTest < ActionController::TestCase
def test_confirm_success_good_token_no_referer
user = users(:inactive_user)
stub_gravatar_request(user.email)
confirm_string = user.tokens.create.token
token = user.tokens.create.token
@ -412,6 +418,7 @@ class UserControllerTest < ActionController::TestCase
def test_confirm_success_bad_token_no_referer
user = users(:inactive_user)
stub_gravatar_request(user.email)
confirm_string = user.tokens.create.token
token = users(:normal_user).tokens.create.token
@ -423,6 +430,7 @@ class UserControllerTest < ActionController::TestCase
def test_confirm_success_no_token_with_referer
user = users(:inactive_user)
stub_gravatar_request(user.email)
confirm_string = user.tokens.create(:referer => diary_new_path).token
@request.cookies["_osm_session"] = user.display_name
@ -433,6 +441,7 @@ class UserControllerTest < ActionController::TestCase
def test_confirm_success_good_token_with_referer
user = users(:inactive_user)
stub_gravatar_request(user.email)
confirm_string = user.tokens.create(:referer => diary_new_path).token
token = user.tokens.create.token
@ -443,6 +452,7 @@ class UserControllerTest < ActionController::TestCase
def test_confirm_success_bad_token_with_referer
user = users(:inactive_user)
stub_gravatar_request(user.email)
confirm_string = user.tokens.create(:referer => diary_new_path).token
token = users(:normal_user).tokens.create.token
@ -521,6 +531,7 @@ class UserControllerTest < ActionController::TestCase
def test_confirm_email_success
user = users(:second_public_user)
stub_gravatar_request(user.new_email)
confirm_string = user.tokens.create.token
post :confirm_email, :confirm_string => confirm_string
@ -551,35 +562,33 @@ class UserControllerTest < ActionController::TestCase
# this happens when the email is actually changed
# which is triggered by the confirmation mail
def test_gravatar_auto_enable
with_http_stubs "gravatar" do
# switch to email that has a gravatar
user = users(:first_gravatar_user)
confirm_string = user.tokens.create.token
# precondition gravatar should be turned off
assert !user.image_use_gravatar
post :confirm_email, :confirm_string => confirm_string
assert_response :redirect
assert_redirected_to :action => :account, :display_name => user.display_name
assert_match /Confirmed your change of email address/, flash[:notice]
# gravatar use should now be enabled
assert User.find(users(:first_gravatar_user).id).image_use_gravatar
end
# switch to email that has a gravatar
user = users(:first_gravatar_user)
stub_gravatar_request(user.new_email, 200)
confirm_string = user.tokens.create.token
# precondition gravatar should be turned off
assert !user.image_use_gravatar
post :confirm_email, :confirm_string => confirm_string
assert_response :redirect
assert_redirected_to :action => :account, :display_name => user.display_name
assert_match /Confirmed your change of email address/, flash[:notice]
# gravatar use should now be enabled
assert User.find(users(:first_gravatar_user).id).image_use_gravatar
end
def test_gravatar_auto_disable
with_http_stubs "gravatar" do
# switch to email without a gravatar
user = users(:second_gravatar_user)
confirm_string = user.tokens.create.token
# precondition gravatar should be turned on
assert user.image_use_gravatar
post :confirm_email, :confirm_string => confirm_string
assert_response :redirect
assert_redirected_to :action => :account, :display_name => user.display_name
assert_match /Confirmed your change of email address/, flash[:notice]
# gravatar use should now be disabled
assert !User.find(users(:second_gravatar_user).id).image_use_gravatar
end
# switch to email without a gravatar
user = users(:second_gravatar_user)
stub_gravatar_request(user.new_email, 404)
confirm_string = user.tokens.create.token
# precondition gravatar should be turned on
assert user.image_use_gravatar
post :confirm_email, :confirm_string => confirm_string
assert_response :redirect
assert_redirected_to :action => :account, :display_name => user.display_name
assert_match /Confirmed your change of email address/, flash[:notice]
# gravatar use should now be disabled
assert !User.find(users(:second_gravatar_user).id).image_use_gravatar
end
def test_terms_new_user