X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/ad4ab4603b27f2e89e4bb4a709bc04a6685ba67b..b71425f4b20fe797fe7a926748fdc2c4c120594e:/test/controllers/messages_controller_test.rb diff --git a/test/controllers/messages_controller_test.rb b/test/controllers/messages_controller_test.rb index db3a200b6..b39aed77b 100644 --- a/test/controllers/messages_controller_test.rb +++ b/test/controllers/messages_controller_test.rb @@ -369,10 +369,10 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest ## # test the mark action def test_mark - user = create(:user) + sender_user = create(:user) recipient_user = create(:user) other_user = create(:user) - message = create(:message, :unread, :sender => user, :recipient => recipient_user) + message = create(:message, :unread, :sender => sender_user, :recipient => recipient_user) # Check that the marking a message requires us to login post message_mark_path(message) @@ -386,6 +386,14 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest assert_response :not_found assert_template "no_such_message" + # Login as the message sender_user + session_for(sender_user) + + # Check that marking a message we sent fails + post message_mark_path(message) + assert_response :not_found + assert_template "no_such_message" + # Login as the message recipient_user session_for(recipient_user) @@ -415,6 +423,27 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest assert_template "no_such_message" end + ## + # test the mark action for messages from muted users + def test_mark_muted + sender_user = create(:user) + recipient_user = create(:user) + create(:user_mute, :owner => recipient_user, :subject => sender_user) + message = create(:message, :unread, :sender => sender_user, :recipient => recipient_user) + + session_for(recipient_user) + + # Check that the marking a message read works + post message_mark_path(message, :mark => "read") + assert_redirected_to muted_messages_path + assert Message.find(message.id).message_read + + # Check that the marking a message unread works + post message_mark_path(message, :mark => "unread") + assert_redirected_to muted_messages_path + assert_not Message.find(message.id).message_read + end + ## # test the destroy action def test_destroy