Fix own following/followers not showing muted users (#13614)
Fixes #13612
This commit is contained in:
		
							parent
							
								
									043255a45e
								
							
						
					
					
						commit
						f1e0fa80f6
					
				
					 4 changed files with 48 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -20,7 +20,7 @@ class Api::V1::Accounts::FollowerAccountsController < Api::BaseController
 | 
			
		|||
    return [] if hide_results?
 | 
			
		||||
 | 
			
		||||
    scope = default_accounts
 | 
			
		||||
    scope = scope.where.not(id: current_account.excluded_from_timeline_account_ids) unless current_account.nil?
 | 
			
		||||
    scope = scope.where.not(id: current_account.excluded_from_timeline_account_ids) unless current_account.nil? || current_account.id == @account.id
 | 
			
		||||
    scope.merge(paginated_follows).to_a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,7 +20,7 @@ class Api::V1::Accounts::FollowingAccountsController < Api::BaseController
 | 
			
		|||
    return [] if hide_results?
 | 
			
		||||
 | 
			
		||||
    scope = default_accounts
 | 
			
		||||
    scope = scope.where.not(id: current_account.excluded_from_timeline_account_ids) unless current_account.nil?
 | 
			
		||||
    scope = scope.where.not(id: current_account.excluded_from_timeline_account_ids) unless current_account.nil? || current_account.id == @account.id
 | 
			
		||||
    scope.merge(paginated_follows).to_a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,5 +36,28 @@ describe Api::V1::Accounts::FollowerAccountsController do
 | 
			
		|||
      expect(body_as_json.size).to eq 1
 | 
			
		||||
      expect(body_as_json[0][:id]).to eq alice.id.to_s
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'when requesting user is blocked' do
 | 
			
		||||
      before do
 | 
			
		||||
        account.block!(user.account)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'hides results' do
 | 
			
		||||
        get :index, params: { account_id: account.id, limit: 2 }
 | 
			
		||||
        expect(body_as_json.size).to eq 0
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'when requesting user is the account owner' do
 | 
			
		||||
      let(:user) { Fabricate(:user, account: account) }
 | 
			
		||||
 | 
			
		||||
      it 'returns all accounts, including muted accounts' do
 | 
			
		||||
        user.account.mute!(bob)
 | 
			
		||||
        get :index, params: { account_id: account.id, limit: 2 }
 | 
			
		||||
 | 
			
		||||
        expect(body_as_json.size).to eq 2
 | 
			
		||||
        expect([body_as_json[0][:id], body_as_json[1][:id]]).to match_array([alice.id.to_s, bob.id.to_s])
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,5 +36,28 @@ describe Api::V1::Accounts::FollowingAccountsController do
 | 
			
		|||
      expect(body_as_json.size).to eq 1
 | 
			
		||||
      expect(body_as_json[0][:id]).to eq alice.id.to_s
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'when requesting user is blocked' do
 | 
			
		||||
      before do
 | 
			
		||||
        account.block!(user.account)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'hides results' do
 | 
			
		||||
        get :index, params: { account_id: account.id, limit: 2 }
 | 
			
		||||
        expect(body_as_json.size).to eq 0
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'when requesting user is the account owner' do
 | 
			
		||||
      let(:user) { Fabricate(:user, account: account) }
 | 
			
		||||
 | 
			
		||||
      it 'returns all accounts, including muted accounts' do
 | 
			
		||||
        user.account.mute!(bob)
 | 
			
		||||
        get :index, params: { account_id: account.id, limit: 2 }
 | 
			
		||||
 | 
			
		||||
        expect(body_as_json.size).to eq 2
 | 
			
		||||
        expect([body_as_json[0][:id], body_as_json[1][:id]]).to match_array([alice.id.to_s, bob.id.to_s])
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue