1 # frozen_string_literal: true
5 class UserMutesControllerTest < ActionDispatch::IntegrationTest
8 { :path => "/user/username/mute", :method => :post },
9 { :controller => "user_mutes", :action => "create", :display_name => "username" }
12 { :path => "/user/username/mute", :method => :delete },
13 { :controller => "user_mutes", :action => "destroy", :display_name => "username" }
16 { :path => "/user_mutes", :method => :get },
17 { :controller => "user_mutes", :action => "index" }
23 muted_user = create(:user)
24 user.mutes.create(:subject => muted_user)
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
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]
41 assert_equal 1, user.muted_users.count
42 assert_equal subject, user.muted_users.first
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
53 subject = create(:user, :display_name => "Bob")
54 user.mutes.create(:subject => subject)
55 assert_equal 1, user.muted_users.count
57 delete user_mute_path(subject)
58 assert_match "You unmuted Bob", flash[:notice]
59 assert_equal 0, user.muted_users.count
61 delete user_mute_path(subject)
62 assert_response :not_found