Merge remote-tracking branch 'upstream/pull/2038'

This commit is contained in:
Tom Hughes 2018-11-03 11:58:56 +00:00
commit 391fb933f5
14 changed files with 452 additions and 334 deletions

View file

@ -2153,7 +2153,9 @@ CHANGESET
assert_difference "ChangesetComment.count", 1 do
assert_no_difference "ActionMailer::Base.deliveries.size" do
post :comment, :params => { :id => private_user_closed_changeset.id, :text => "This is a comment" }
perform_enqueued_jobs do
post :comment, :params => { :id => private_user_closed_changeset.id, :text => "This is a comment" }
end
end
end
assert_response :success
@ -2166,7 +2168,9 @@ CHANGESET
assert_difference "ChangesetComment.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 1 do
post :comment, :params => { :id => changeset.id, :text => "This is a comment" }
perform_enqueued_jobs do
post :comment, :params => { :id => changeset.id, :text => "This is a comment" }
end
end
end
assert_response :success
@ -2182,7 +2186,9 @@ CHANGESET
assert_difference "ChangesetComment.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 2 do
post :comment, :params => { :id => changeset.id, :text => "This is a comment" }
perform_enqueued_jobs do
post :comment, :params => { :id => changeset.id, :text => "This is a comment" }
end
end
end
assert_response :success

View file

@ -390,9 +390,11 @@ class DiaryEntryControllerTest < ActionController::TestCase
assert_no_difference "ActionMailer::Base.deliveries.size" do
assert_no_difference "DiaryComment.count" do
assert_no_difference "entry.subscribers.count" do
post :comment,
:params => { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => "" } },
:session => { :user => other_user }
perform_enqueued_jobs do
post :comment,
:params => { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => "" } },
:session => { :user => other_user }
end
end
end
end
@ -403,9 +405,11 @@ class DiaryEntryControllerTest < ActionController::TestCase
assert_difference "ActionMailer::Base.deliveries.size", entry.subscribers.count do
assert_difference "DiaryComment.count", 1 do
assert_difference "entry.subscribers.count", 1 do
post :comment,
:params => { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => "New comment" } },
:session => { :user => other_user }
perform_enqueued_jobs do
post :comment,
:params => { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => "New comment" } },
:session => { :user => other_user }
end
end
end
end
@ -450,9 +454,11 @@ class DiaryEntryControllerTest < ActionController::TestCase
# Try creating a spammy comment
assert_difference "ActionMailer::Base.deliveries.size", 1 do
assert_difference "DiaryComment.count", 1 do
post :comment,
:params => { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => spammy_text } },
:session => { :user => other_user }
perform_enqueued_jobs do
post :comment,
:params => { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => spammy_text } },
:session => { :user => other_user }
end
end
end
assert_response :redirect

View file

@ -83,9 +83,11 @@ class MessagesControllerTest < ActionController::TestCase
# Check that we can't send a message from a GET request
assert_difference "ActionMailer::Base.deliveries.size", 0 do
assert_difference "Message.count", 0 do
get :new,
:params => { :display_name => recipient_user.display_name,
:message => { :title => "Test Message", :body => "Test message body" } }
perform_enqueued_jobs do
get :new,
:params => { :display_name => recipient_user.display_name,
:message => { :title => "Test Message", :body => "Test message body" } }
end
end
end
assert_response :success
@ -112,9 +114,11 @@ class MessagesControllerTest < ActionController::TestCase
# Check that the subject is preserved over errors
assert_difference "ActionMailer::Base.deliveries.size", 0 do
assert_difference "Message.count", 0 do
post :new,
:params => { :display_name => recipient_user.display_name,
:message => { :title => "Test Message", :body => "" } }
perform_enqueued_jobs do
post :new,
:params => { :display_name => recipient_user.display_name,
:message => { :title => "Test Message", :body => "" } }
end
end
end
assert_response :success
@ -141,9 +145,11 @@ class MessagesControllerTest < ActionController::TestCase
# Check that the body text is preserved over errors
assert_difference "ActionMailer::Base.deliveries.size", 0 do
assert_difference "Message.count", 0 do
post :new,
:params => { :display_name => recipient_user.display_name,
:message => { :title => "", :body => "Test message body" } }
perform_enqueued_jobs do
post :new,
:params => { :display_name => recipient_user.display_name,
:message => { :title => "", :body => "Test message body" } }
end
end
end
assert_response :success
@ -170,9 +176,11 @@ class MessagesControllerTest < ActionController::TestCase
# Check that sending a message works
assert_difference "ActionMailer::Base.deliveries.size", 1 do
assert_difference "Message.count", 1 do
post :create,
:params => { :display_name => recipient_user.display_name,
:message => { :title => "Test Message", :body => "Test message body" } }
perform_enqueued_jobs do
post :create,
:params => { :display_name => recipient_user.display_name,
:message => { :title => "Test Message", :body => "Test message body" } }
end
end
end
assert_redirected_to inbox_messages_path
@ -211,12 +219,14 @@ class MessagesControllerTest < ActionController::TestCase
assert_no_difference "ActionMailer::Base.deliveries.size" do
assert_no_difference "Message.count" do
with_message_limit(0) do
post :create,
:params => { :display_name => recipient_user.display_name,
:message => { :title => "Test Message", :body => "Test message body" } }
assert_response :success
assert_template "new"
assert_select ".error", /wait a while/
perform_enqueued_jobs do
post :create,
:params => { :display_name => recipient_user.display_name,
:message => { :title => "Test Message", :body => "Test message body" } }
assert_response :success
assert_template "new"
assert_select ".error", /wait a while/
end
end
end
end

View file

@ -228,7 +228,9 @@ class NotesControllerTest < ActionController::TestCase
open_note_with_comment = create(:note_with_comments)
assert_difference "NoteComment.count", 1 do
assert_no_difference "ActionMailer::Base.deliveries.size" do
post :comment, :params => { :id => open_note_with_comment.id, :text => "This is an additional comment", :format => "json" }
perform_enqueued_jobs do
post :comment, :params => { :id => open_note_with_comment.id, :text => "This is an additional comment", :format => "json" }
end
end
end
assert_response :success
@ -265,7 +267,9 @@ class NotesControllerTest < ActionController::TestCase
end
assert_difference "NoteComment.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 2 do
post :comment, :params => { :id => note_with_comments_by_users.id, :text => "This is an additional comment", :format => "json" }
perform_enqueued_jobs do
post :comment, :params => { :id => note_with_comments_by_users.id, :text => "This is an additional comment", :format => "json" }
end
end
end
assert_response :success
@ -307,7 +311,9 @@ class NotesControllerTest < ActionController::TestCase
assert_difference "NoteComment.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 2 do
post :comment, :params => { :id => note_with_comments_by_users.id, :text => "This is an additional comment", :format => "json" }
perform_enqueued_jobs do
post :comment, :params => { :id => note_with_comments_by_users.id, :text => "This is an additional comment", :format => "json" }
end
end
end
assert_response :success

View file

@ -237,7 +237,9 @@ class UsersControllerTest < ActionController::TestCase
assert_difference "User.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 1 do
post :save, :session => { :new_user => user }
perform_enqueued_jobs do
post :save, :session => { :new_user => user }
end
end
end
@ -259,7 +261,9 @@ class UsersControllerTest < ActionController::TestCase
assert_no_difference "User.count" do
assert_no_difference "ActionMailer::Base.deliveries.size" do
post :save, :session => { :new_user => user }
perform_enqueued_jobs do
post :save, :session => { :new_user => user }
end
end
end
@ -274,7 +278,9 @@ class UsersControllerTest < ActionController::TestCase
assert_no_difference "User.count" do
assert_no_difference "ActionMailer::Base.deliveries.size" do
post :save, :session => { :new_user => user }
perform_enqueued_jobs do
post :save, :session => { :new_user => user }
end
end
end
@ -289,7 +295,9 @@ class UsersControllerTest < ActionController::TestCase
assert_no_difference "User.count" do
assert_no_difference "ActionMailer::Base.deliveries.size" do
post :save, :session => { :new_user => user }
perform_enqueued_jobs do
post :save, :session => { :new_user => user }
end
end
end
@ -304,7 +312,9 @@ class UsersControllerTest < ActionController::TestCase
assert_no_difference "User.count" do
assert_no_difference "ActionMailer::Base.deliveries.size" do
post :save, :session => { :new_user => user }
perform_enqueued_jobs do
post :save, :session => { :new_user => user }
end
end
end
@ -318,8 +328,10 @@ class UsersControllerTest < ActionController::TestCase
assert_difference "User.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 1 do
post :save, :session => { :new_user => user,
:referer => "/edit?editor=id#map=1/2/3" }
perform_enqueued_jobs do
post :save, :session => { :new_user => user,
:referer => "/edit?editor=id#map=1/2/3" }
end
end
end
@ -489,7 +501,9 @@ class UsersControllerTest < ActionController::TestCase
session[:token] = user.tokens.create.token
assert_difference "ActionMailer::Base.deliveries.size", 1 do
get :confirm_resend, :params => { :display_name => user.display_name }
perform_enqueued_jobs do
get :confirm_resend, :params => { :display_name => user.display_name }
end
end
assert_response :redirect
@ -506,7 +520,9 @@ class UsersControllerTest < ActionController::TestCase
def test_confirm_resend_no_token
user = create(:user, :pending)
assert_no_difference "ActionMailer::Base.deliveries.size" do
get :confirm_resend, :params => { :display_name => user.display_name }
perform_enqueued_jobs do
get :confirm_resend, :params => { :display_name => user.display_name }
end
end
assert_response :redirect
@ -516,7 +532,9 @@ class UsersControllerTest < ActionController::TestCase
def test_confirm_resend_unknown_user
assert_no_difference "ActionMailer::Base.deliveries.size" do
get :confirm_resend, :params => { :display_name => "No Such User" }
perform_enqueued_jobs do
get :confirm_resend, :params => { :display_name => "No Such User" }
end
end
assert_response :redirect
@ -674,7 +692,9 @@ class UsersControllerTest < ActionController::TestCase
uppercase_user = build(:user, :email => user.email.upcase).tap { |u| u.save(:validate => false) }
assert_difference "ActionMailer::Base.deliveries.size", 1 do
post :lost_password, :params => { :user => { :email => user.email } }
perform_enqueued_jobs do
post :lost_password, :params => { :user => { :email => user.email } }
end
end
assert_response :redirect
assert_redirected_to :action => :login
@ -687,7 +707,9 @@ class UsersControllerTest < ActionController::TestCase
# Test resetting using an address that matches a different user
# that has the same address in a different case
assert_difference "ActionMailer::Base.deliveries.size", 1 do
post :lost_password, :params => { :user => { :email => user.email.upcase } }
perform_enqueued_jobs do
post :lost_password, :params => { :user => { :email => user.email.upcase } }
end
end
assert_response :redirect
assert_redirected_to :action => :login
@ -700,7 +722,9 @@ class UsersControllerTest < ActionController::TestCase
# Test resetting using an address that is a case insensitive match
# for more than one user but not an exact match for either
assert_no_difference "ActionMailer::Base.deliveries.size" do
post :lost_password, :params => { :user => { :email => user.email.titlecase } }
perform_enqueued_jobs do
post :lost_password, :params => { :user => { :email => user.email.titlecase } }
end
end
assert_response :success
assert_template :lost_password
@ -710,7 +734,9 @@ class UsersControllerTest < ActionController::TestCase
# address which is case insensitively unique
third_user = create(:user)
assert_difference "ActionMailer::Base.deliveries.size", 1 do
post :lost_password, :params => { :user => { :email => third_user.email } }
perform_enqueued_jobs do
post :lost_password, :params => { :user => { :email => third_user.email } }
end
end
assert_response :redirect
assert_redirected_to :action => :login
@ -723,7 +749,9 @@ class UsersControllerTest < ActionController::TestCase
# Test resetting using an address that matches a user that has the
# same (case insensitively unique) address in a different case
assert_difference "ActionMailer::Base.deliveries.size", 1 do
post :lost_password, :params => { :user => { :email => third_user.email.upcase } }
perform_enqueued_jobs do
post :lost_password, :params => { :user => { :email => third_user.email.upcase } }
end
end
assert_response :redirect
assert_redirected_to :action => :login
@ -898,7 +926,9 @@ class UsersControllerTest < ActionController::TestCase
# Changing email to one that exists should fail
user.new_email = create(:user).email
assert_no_difference "ActionMailer::Base.deliveries.size" do
post :account, :params => { :display_name => user.display_name, :user => user.attributes }, :session => { :user => user }
perform_enqueued_jobs do
post :account, :params => { :display_name => user.display_name, :user => user.attributes }, :session => { :user => user }
end
end
assert_response :success
assert_template :account
@ -909,7 +939,9 @@ class UsersControllerTest < ActionController::TestCase
# Changing email to one that exists should fail, regardless of case
user.new_email = create(:user).email.upcase
assert_no_difference "ActionMailer::Base.deliveries.size" do
post :account, :params => { :display_name => user.display_name, :user => user.attributes }, :session => { :user => user }
perform_enqueued_jobs do
post :account, :params => { :display_name => user.display_name, :user => user.attributes }, :session => { :user => user }
end
end
assert_response :success
assert_template :account
@ -920,7 +952,9 @@ class UsersControllerTest < ActionController::TestCase
# Changing email to one that doesn't exist should work
user.new_email = "new_tester@example.com"
assert_difference "ActionMailer::Base.deliveries.size", 1 do
post :account, :params => { :display_name => user.display_name, :user => user.attributes }, :session => { :user => user }
perform_enqueued_jobs do
post :account, :params => { :display_name => user.display_name, :user => user.attributes }, :session => { :user => user }
end
end
assert_response :success
assert_template :account
@ -1258,7 +1292,9 @@ class UsersControllerTest < ActionController::TestCase
# When logged in a POST should add the friendship
assert_difference "ActionMailer::Base.deliveries.size", 1 do
post :make_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
perform_enqueued_jobs do
post :make_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
end
end
assert_redirected_to user_path(friend)
assert_match(/is now your friend/, flash[:notice])
@ -1270,7 +1306,9 @@ class UsersControllerTest < ActionController::TestCase
# A second POST should report that the friendship already exists
assert_no_difference "ActionMailer::Base.deliveries.size" do
post :make_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
perform_enqueued_jobs do
post :make_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
end
end
assert_redirected_to user_path(friend)
assert_match(/You are already friends with/, flash[:warning])
@ -1297,7 +1335,9 @@ class UsersControllerTest < ActionController::TestCase
# When logged in a POST should add the friendship and refer us
assert_difference "ActionMailer::Base.deliveries.size", 1 do
post :make_friend, :params => { :display_name => friend.display_name, :referer => "/test" }, :session => { :user => user }
perform_enqueued_jobs do
post :make_friend, :params => { :display_name => friend.display_name, :referer => "/test" }, :session => { :user => user }
end
end
assert_redirected_to "/test"
assert_match(/is now your friend/, flash[:notice])