From: Tom Hughes Date: Sun, 5 May 2024 17:54:57 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/pull/4753' X-Git-Tag: live~598 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/51d778097f031631a38236e7ab9a37f75a4580dc?ds=inline;hp=-c Merge remote-tracking branch 'upstream/pull/4753' --- 51d778097f031631a38236e7ab9a37f75a4580dc diff --combined test/controllers/messages_controller_test.rb index 4a48ebbbe,fd4a5ed10..69b0107a8 --- a/test/controllers/messages_controller_test.rb +++ b/test/controllers/messages_controller_test.rb @@@ -233,40 -233,36 +233,36 @@@ class MessagesControllerTest < ActionDi user = create(:user) recipient_user = create(:user) other_user = create(:user) - unread_message = create(:message, :unread, :sender => user, :recipient => recipient_user) + message = create(:message, :unread, :sender => user, :recipient => recipient_user) # Check that the message reply page requires us to login - get message_reply_path(:message_id => unread_message) - assert_redirected_to login_path(:referer => message_reply_path(:message_id => unread_message.id)) + get message_reply_path(:message_id => message) + assert_redirected_to login_path(:referer => message_reply_path(:message_id => message.id)) # Login as the wrong user session_for(other_user) # Check that we can't reply to somebody else's message - get message_reply_path(:message_id => unread_message) - assert_redirected_to login_path(:referer => message_reply_path(:message_id => unread_message.id)) + get message_reply_path(:message_id => message) + assert_redirected_to login_path(:referer => message_reply_path(:message_id => message.id)) assert_equal "You are logged in as `#{other_user.display_name}' but the message you have asked to reply to was not sent to that user. Please log in as the correct user in order to reply.", flash[:notice] # Login as the right user session_for(recipient_user) # Check that the message reply page loads - get message_reply_path(:message_id => unread_message) + get message_reply_path(:message_id => message) assert_response :success assert_template "new" - assert_select "title", "Re: #{unread_message.title} | OpenStreetMap" + assert_select "title", "Re: #{message.title} | OpenStreetMap" assert_select "form[action='/messages']", :count => 1 do assert_select "input[type='hidden'][name='display_name'][value='#{user.display_name}']" - assert_select "input#message_title[value='Re: #{unread_message.title}']", :count => 1 + assert_select "input#message_title[value='Re: #{message.title}']", :count => 1 assert_select "textarea#message_body", :count => 1 assert_select "input[type='submit'][value='Send']", :count => 1 end - assert Message.find(unread_message.id).message_read + assert Message.find(message.id).message_read - # Asking to reply to a message with no ID should fail - get message_reply_path - assert_response :success - # Asking to reply to a message with a bogus ID should fail get message_reply_path(:message_id => 99999) assert_response :not_found @@@ -279,44 -275,40 +275,40 @@@ user = create(:user) recipient_user = create(:user) other_user = create(:user) - unread_message = create(:message, :unread, :sender => user, :recipient => recipient_user) + message = create(:message, :unread, :sender => user, :recipient => recipient_user) # Check that the show message page requires us to login - get message_path(:id => unread_message) - assert_redirected_to login_path(:referer => message_path(:id => unread_message.id)) + get message_path(:id => message) + assert_redirected_to login_path(:referer => message_path(:id => message.id)) # Login as the wrong user session_for(other_user) # Check that we can't read the message - get message_path(:id => unread_message) - assert_redirected_to login_path(:referer => message_path(:id => unread_message.id)) + get message_path(:id => message) + assert_redirected_to login_path(:referer => message_path(:id => message.id)) assert_equal "You are logged in as `#{other_user.display_name}' but the message you have asked to read was not sent by or to that user. Please log in as the correct user in order to read it.", flash[:notice] # Login as the message sender session_for(user) # Check that the message sender can read the message - get message_path(:id => unread_message) + get message_path(:id => message) assert_response :success assert_template "show" assert_select "a[href='#{user_path recipient_user}']", :text => recipient_user.display_name - assert_not Message.find(unread_message.id).message_read + assert_not Message.find(message.id).message_read # Login as the message recipient session_for(recipient_user) # Check that the message recipient can read the message - get message_path(:id => unread_message) + get message_path(:id => message) assert_response :success assert_template "show" assert_select "a[href='#{user_path user}']", :text => user.display_name - assert Message.find(unread_message.id).message_read + assert Message.find(message.id).message_read - # Asking to read a message with no ID should fail - get message_path - assert_response :success - # Asking to read a message with a bogus ID should fail get message_path(:id => 99999) assert_response :not_found @@@ -380,17 -372,17 +372,17 @@@ user = create(:user) recipient_user = create(:user) other_user = create(:user) - unread_message = create(:message, :unread, :sender => user, :recipient => recipient_user) + message = create(:message, :unread, :sender => user, :recipient => recipient_user) # Check that the marking a message requires us to login - post message_mark_path(:message_id => unread_message) + post message_mark_path(:message_id => message) assert_response :forbidden # Login as a user with no messages session_for(other_user) # Check that marking a message we didn't send or receive fails - post message_mark_path(:message_id => unread_message) + post message_mark_path(:message_id => message) assert_response :not_found assert_template "no_such_message" @@@ -398,29 -390,25 +390,25 @@@ session_for(recipient_user) # Check that the marking a message read works - post message_mark_path(:message_id => unread_message, :mark => "read") + post message_mark_path(:message_id => message, :mark => "read") assert_redirected_to inbox_messages_path - assert Message.find(unread_message.id).message_read + assert Message.find(message.id).message_read # Check that the marking a message unread works - post message_mark_path(:message_id => unread_message, :mark => "unread") + post message_mark_path(:message_id => message, :mark => "unread") assert_redirected_to inbox_messages_path - assert_not Message.find(unread_message.id).message_read + assert_not Message.find(message.id).message_read - # Check that the marking a message read via XHR works - post message_mark_path(:message_id => unread_message, :mark => "read") - assert_response :see_other - assert Message.find(unread_message.id).message_read + # Check that the marking a message read works and redirects to inbox from the message page + post message_mark_path(:message_id => message, :mark => "read"), :headers => { :referer => message_path(message) } + assert_redirected_to inbox_messages_path + assert Message.find(message.id).message_read - # Check that the marking a message unread via XHR works - post message_mark_path(:message_id => unread_message, :mark => "unread") - assert_response :see_other - assert_not Message.find(unread_message.id).message_read + # Check that the marking a message unread works and redirects to inbox from the message page + post message_mark_path(:message_id => message, :mark => "unread"), :headers => { :referer => message_path(message) } + assert_redirected_to inbox_messages_path + assert_not Message.find(message.id).message_read - # Asking to mark a message with no ID should fail - post message_mark_path - assert_redirected_to inbox_messages_path - # Asking to mark a message with a bogus ID should fail post message_mark_path(:message_id => 99999) assert_response :not_found @@@ -467,10 -455,6 +455,6 @@@ assert_not m.from_user_visible assert m.to_user_visible - # Asking to destroy a message with no ID should fail - delete message_path - assert_redirected_to inbox_messages_path - # Asking to destroy a message with a bogus ID should fail delete message_path(:id => 99999) assert_response :not_found