Fix possible race conditions when suspending/unsuspending accounts (#22363)
* Fix possible race conditions when suspending/unsuspending accounts * Fix tests Tests were assuming SuspensionWorker and UnsuspensionWorker would do the suspending/unsuspending themselves, but this has changed.
This commit is contained in:
		@@ -13,6 +13,8 @@ RSpec.describe SuspendAccountService, type: :service do
 | 
			
		||||
 | 
			
		||||
      local_follower.follow!(account)
 | 
			
		||||
      list.accounts << account
 | 
			
		||||
 | 
			
		||||
      account.suspend!
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it "unmerges from local followers' feeds" do
 | 
			
		||||
@@ -21,8 +23,8 @@ RSpec.describe SuspendAccountService, type: :service do
 | 
			
		||||
      expect(FeedManager.instance).to have_received(:unmerge_from_list).with(account, list)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'marks account as suspended' do
 | 
			
		||||
      expect { subject }.to change { account.suspended? }.from(false).to(true)
 | 
			
		||||
    it 'does not change the “suspended” flag' do
 | 
			
		||||
      expect { subject }.to_not change { account.suspended? }
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ RSpec.describe UnsuspendAccountService, type: :service do
 | 
			
		||||
      local_follower.follow!(account)
 | 
			
		||||
      list.accounts << account
 | 
			
		||||
 | 
			
		||||
      account.suspend!(origin: :local)
 | 
			
		||||
      account.unsuspend!
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
@@ -30,8 +30,8 @@ RSpec.describe UnsuspendAccountService, type: :service do
 | 
			
		||||
      stub_request(:post, 'https://bob.com/inbox').to_return(status: 201)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'marks account as unsuspended' do
 | 
			
		||||
      expect { subject }.to change { account.suspended? }.from(true).to(false)
 | 
			
		||||
    it 'does not change the “suspended” flag' do
 | 
			
		||||
      expect { subject }.to_not change { account.suspended? }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    include_examples 'common behavior' do
 | 
			
		||||
@@ -83,8 +83,8 @@ RSpec.describe UnsuspendAccountService, type: :service do
 | 
			
		||||
          expect(FeedManager.instance).to have_received(:merge_into_list).with(account, list)
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        it 'marks account as unsuspended' do
 | 
			
		||||
          expect { subject }.to change { account.suspended? }.from(true).to(false)
 | 
			
		||||
        it 'does not change the “suspended” flag' do
 | 
			
		||||
          expect { subject }.to_not change { account.suspended? }
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
@@ -107,8 +107,8 @@ RSpec.describe UnsuspendAccountService, type: :service do
 | 
			
		||||
          expect(FeedManager.instance).to_not have_received(:merge_into_list).with(account, list)
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        it 'does not mark the account as unsuspended' do
 | 
			
		||||
          expect { subject }.not_to change { account.suspended? }
 | 
			
		||||
        it 'marks account as suspended' do
 | 
			
		||||
          expect { subject }.to change { account.suspended? }.from(false).to(true)
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user