Fix edge case where accepted follow cannot be processed because of follow limit (#16098)
This commit is contained in:
		
							parent
							
								
									2360191434
								
							
						
					
					
						commit
						a6564d56d6
					
				
					 2 changed files with 2 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -29,7 +29,7 @@ class FollowRequest < ApplicationRecord
 | 
			
		|||
  validates :account_id, uniqueness: { scope: :target_account_id }
 | 
			
		||||
 | 
			
		||||
  def authorize!
 | 
			
		||||
    account.follow!(target_account, reblogs: show_reblogs, notify: notify, uri: uri)
 | 
			
		||||
    account.follow!(target_account, reblogs: show_reblogs, notify: notify, uri: uri, bypass_limit: true)
 | 
			
		||||
    MergeWorker.perform_async(target_account.id, account.id) if account.local?
 | 
			
		||||
    destroy!
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,7 @@ RSpec.describe FollowRequest, type: :model do
 | 
			
		|||
    let(:target_account) { Fabricate(:account) }
 | 
			
		||||
 | 
			
		||||
    it 'calls Account#follow!, MergeWorker.perform_async, and #destroy!' do
 | 
			
		||||
      expect(account).to        receive(:follow!).with(target_account, reblogs: true, notify: false, uri: follow_request.uri)
 | 
			
		||||
      expect(account).to        receive(:follow!).with(target_account, reblogs: true, notify: false, uri: follow_request.uri, bypass_limit: true)
 | 
			
		||||
      expect(MergeWorker).to    receive(:perform_async).with(target_account.id, account.id)
 | 
			
		||||
      expect(follow_request).to receive(:destroy!)
 | 
			
		||||
      follow_request.authorize!
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue