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