]> git.openstreetmap.org Git - rails.git/blob - test/controllers/user_mutes_controller_test.rb
Add frozen_string_literal comments to ruby files
[rails.git] / test / controllers / user_mutes_controller_test.rb
1 # frozen_string_literal: true
2
3 require "test_helper"
4
5 class UserMutesControllerTest < ActionDispatch::IntegrationTest
6   def test_routes
7     assert_routing(
8       { :path => "/user/username/mute", :method => :post },
9       { :controller => "user_mutes", :action => "create", :display_name => "username" }
10     )
11     assert_routing(
12       { :path => "/user/username/mute", :method => :delete },
13       { :controller => "user_mutes", :action => "destroy", :display_name => "username" }
14     )
15     assert_routing(
16       { :path => "/user_mutes", :method => :get },
17       { :controller => "user_mutes", :action => "index" }
18     )
19   end
20
21   def test_index
22     user = create(:user)
23     muted_user = create(:user)
24     user.mutes.create(:subject => muted_user)
25     session_for(user)
26
27     get user_mutes_path
28     assert_match "You have muted 1 User", @response.body
29     assert_dom "tr a[href='#{user_path muted_user}']", :text => muted_user.display_name
30   end
31
32   def test_create
33     user = create(:user)
34     session_for(user)
35
36     assert_equal 0, user.muted_users.count
37     subject = create(:user, :display_name => "Bob")
38     post user_mute_path(subject)
39     assert_match "You muted Bob", flash[:notice]
40
41     assert_equal 1, user.muted_users.count
42     assert_equal subject, user.muted_users.first
43
44     post user_mute_path(subject)
45     assert_match "Bob could not be muted. Is already muted", flash[:error]
46     assert_equal 1, user.muted_users.count
47   end
48
49   def test_destroy
50     user = create(:user)
51     session_for(user)
52
53     subject = create(:user, :display_name => "Bob")
54     user.mutes.create(:subject => subject)
55     assert_equal 1, user.muted_users.count
56
57     delete user_mute_path(subject)
58     assert_match "You unmuted Bob", flash[:notice]
59     assert_equal 0, user.muted_users.count
60
61     delete user_mute_path(subject)
62     assert_response :not_found
63   end
64 end