Add tests for change of gravatar use depending on email

This commit is contained in:
Simon Poole 2016-02-26 00:53:04 +01:00
parent 8283a39dbc
commit 90b7101cc3
5 changed files with 77 additions and 6 deletions

View file

@ -523,7 +523,6 @@ class UserControllerTest < ActionController::TestCase
def test_confirm_email_success
user = users(:second_public_user)
confirm_string = user.tokens.create.token
post :confirm_email, :confirm_string => confirm_string
assert_response :redirect
assert_redirected_to :action => :account, :display_name => user.display_name
@ -547,6 +546,42 @@ class UserControllerTest < ActionController::TestCase
assert_match /confirmation code has expired or does not exist/, flash[:error]
end
##
# test if testing for a gravatar works
# 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
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
end
def test_terms_new_user
get :terms, {}, { :new_user => User.new }
assert_response :success
@ -1334,7 +1369,7 @@ class UserControllerTest < ActionController::TestCase
get :list, :page => 3
assert_response :success
assert_template :list
assert_select "table#user_list tr", :count => 23
assert_select "table#user_list tr", :count => 25
end
def test_list_post_confirm