]> git.openstreetmap.org Git - rails.git/blob - test/controllers/messages/mutes_controller_test.rb
Add frozen_string_literal comments to ruby files
[rails.git] / test / controllers / messages / mutes_controller_test.rb
1 # frozen_string_literal: true
2
3 require "test_helper"
4
5 module Messages
6   class MutesControllerTest < ActionDispatch::IntegrationTest
7     ##
8     # test all routes which lead to this controller
9     def test_routes
10       assert_routing(
11         { :path => "/messages/1/mute", :method => :delete },
12         { :controller => "messages/mutes", :action => "destroy", :message_id => "1" }
13       )
14     end
15
16     def test_destroy_when_not_logged_in
17       sender_user = create(:user)
18       recipient_user = create(:user)
19       create(:user_mute, :owner => recipient_user, :subject => sender_user)
20       message = create(:message, :unread, :sender => sender_user, :recipient => recipient_user)
21
22       delete message_mute_path(message)
23       assert_response :forbidden
24     end
25
26     def test_destroy_as_other_user
27       sender_user = create(:user)
28       recipient_user = create(:user)
29       create(:user_mute, :owner => recipient_user, :subject => sender_user)
30       message = create(:message, :unread, :sender => sender_user, :recipient => recipient_user)
31       session_for(create(:user))
32
33       delete message_mute_path(message)
34       assert_response :not_found
35       assert_template "no_such_message"
36     end
37
38     def test_destroy_as_sender
39       sender_user = create(:user)
40       recipient_user = create(:user)
41       create(:user_mute, :owner => recipient_user, :subject => sender_user)
42       message = create(:message, :unread, :sender => sender_user, :recipient => recipient_user)
43       session_for(sender_user)
44
45       delete message_mute_path(message)
46       assert_response :not_found
47       assert_template "no_such_message"
48     end
49
50     def test_destroy_as_recipient
51       sender_user = create(:user)
52       recipient_user = create(:user)
53       create(:user_mute, :owner => recipient_user, :subject => sender_user)
54       message = create(:message, :unread, :sender => sender_user, :recipient => recipient_user)
55       session_for(recipient_user)
56
57       delete message_mute_path(message)
58       assert_redirected_to messages_inbox_path
59       assert_not message.reload.muted
60     end
61
62     def test_destroy_on_missing_message
63       session_for(create(:user))
64
65       delete message_mute_path(99999)
66       assert_response :not_found
67       assert_template "no_such_message"
68     end
69   end
70 end