X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/420a7289a0b08eee091f6650c2e83166df3fbe69..3666b674330ec8d14a224932a191d6121c5974e2:/test/controllers/messages_controller_test.rb diff --git a/test/controllers/messages_controller_test.rb b/test/controllers/messages_controller_test.rb index 0b3a59b39..d07f6c83d 100644 --- a/test/controllers/messages_controller_test.rb +++ b/test/controllers/messages_controller_test.rb @@ -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 @@ -182,7 +190,7 @@ class MessagesControllerTest < ActionController::TestCase assert_equal "[OpenStreetMap] Test Message", e.subject assert_match(/Test message body/, e.text_part.decoded) assert_match(/Test message body/, e.html_part.decoded) - assert_match %r{#{SERVER_URL}/messages/[0-9]+}, e.text_part.decoded + assert_match %r{#{Settings.server_url}/messages/[0-9]+}, e.text_part.decoded ActionMailer::Base.deliveries.clear m = Message.last assert_equal user.id, m.from_user_id @@ -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 @@ -256,7 +266,7 @@ class MessagesControllerTest < ActionController::TestCase assert_select "textarea#message_body", :count => 1 assert_select "input[type='submit'][value='Send']", :count => 1 end - assert_equal true, Message.find(unread_message.id).message_read + assert Message.find(unread_message.id).message_read # Asking to reply to a message with no ID should fail assert_raise ActionController::UrlGenerationError do @@ -296,7 +306,7 @@ class MessagesControllerTest < ActionController::TestCase get :show, :params => { :id => unread_message.id } assert_response :success assert_template "show" - assert_equal false, Message.find(unread_message.id).message_read + assert_not Message.find(unread_message.id).message_read # Login as the message recipient session[:user] = recipient_user.id @@ -305,7 +315,7 @@ class MessagesControllerTest < ActionController::TestCase get :show, :params => { :id => unread_message.id } assert_response :success assert_template "show" - assert_equal true, Message.find(unread_message.id).message_read + assert Message.find(unread_message.id).message_read # Asking to read a message with no ID should fail assert_raise ActionController::UrlGenerationError do @@ -334,7 +344,7 @@ class MessagesControllerTest < ActionController::TestCase get :inbox assert_response :success assert_template "inbox" - assert_select "table.messages", :count => 1 do + assert_select ".content-inner > table", :count => 1 do assert_select "tr", :count => 2 assert_select "tr#inbox-#{read_message.id}.inbox-row", :count => 1 end @@ -357,7 +367,7 @@ class MessagesControllerTest < ActionController::TestCase get :outbox assert_response :success assert_template "outbox" - assert_select "table.messages", :count => 1 do + assert_select ".content-inner > table", :count => 1 do assert_select "tr", :count => 2 assert_select "tr.inbox-row", :count => 1 end @@ -389,24 +399,24 @@ class MessagesControllerTest < ActionController::TestCase # Check that the marking a message read works post :mark, :params => { :message_id => unread_message.id, :mark => "read" } assert_redirected_to inbox_messages_path - assert_equal true, Message.find(unread_message.id).message_read + assert Message.find(unread_message.id).message_read # Check that the marking a message unread works post :mark, :params => { :message_id => unread_message.id, :mark => "unread" } assert_redirected_to inbox_messages_path - assert_equal false, Message.find(unread_message.id).message_read + assert_not Message.find(unread_message.id).message_read # Check that the marking a message read via XHR works post :mark, :xhr => true, :params => { :message_id => unread_message.id, :mark => "read" } assert_response :success assert_template "mark" - assert_equal true, Message.find(unread_message.id).message_read + assert Message.find(unread_message.id).message_read # Check that the marking a message unread via XHR works post :mark, :xhr => true, :params => { :message_id => unread_message.id, :mark => "unread" } assert_response :success assert_template "mark" - assert_equal false, Message.find(unread_message.id).message_read + assert_not Message.find(unread_message.id).message_read # Asking to mark a message with no ID should fail assert_raise ActionController::UrlGenerationError do @@ -448,16 +458,16 @@ class MessagesControllerTest < ActionController::TestCase assert_redirected_to inbox_messages_path assert_equal "Message deleted", flash[:notice] m = Message.find(read_message.id) - assert_equal true, m.from_user_visible - assert_equal false, m.to_user_visible + assert m.from_user_visible + assert_not m.to_user_visible # Check that the destroying a sent message works delete :destroy, :params => { :id => sent_message.id, :referer => outbox_messages_path } assert_redirected_to outbox_messages_path assert_equal "Message deleted", flash[:notice] m = Message.find(sent_message.id) - assert_equal false, m.from_user_visible - assert_equal true, m.to_user_visible + assert_not m.from_user_visible + assert m.to_user_visible # Asking to destroy a message with no ID should fail assert_raise ActionController::UrlGenerationError do @@ -473,12 +483,11 @@ class MessagesControllerTest < ActionController::TestCase private def with_message_limit(value) - max_messages_per_hour = Object.send("remove_const", "MAX_MESSAGES_PER_HOUR") - Object.const_set("MAX_MESSAGES_PER_HOUR", value) + max_messages_per_hour = Settings.max_messages_per_hour + Settings.max_messages_per_hour = value yield - Object.send("remove_const", "MAX_MESSAGES_PER_HOUR") - Object.const_set("MAX_MESSAGES_PER_HOUR", max_messages_per_hour) + Settings.max_messages_per_hour = max_messages_per_hour end end