Add basic coverage for MoveService class (#29301)
		
	This commit is contained in:
		
					parent
					
						
							
								baa23738a8
							
						
					
				
			
			
				commit
				
					
						b0064ddda7
					
				
			
		
					 1 changed files with 48 additions and 0 deletions
				
			
		
							
								
								
									
										48
									
								
								spec/services/move_service_spec.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								spec/services/move_service_spec.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,48 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe MoveService do | ||||
|   subject { described_class.new.call(migration) } | ||||
| 
 | ||||
|   context 'with a valid migration record' do | ||||
|     let(:migration) { Fabricate(:account_migration, account: source_account, target_account: target_account) } | ||||
|     let(:source_account) { Fabricate(:account) } | ||||
|     let(:target_account) { Fabricate(:account, also_known_as: [source_account_uri]) } | ||||
| 
 | ||||
|     it 'migrates the account to a new account' do | ||||
|       expect { subject } | ||||
|         .to change_source_moved_value | ||||
|         .and process_local_updates | ||||
|         .and distribute_updates | ||||
|         .and distribute_move | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def source_account_uri | ||||
|     ActivityPub::TagManager | ||||
|       .instance | ||||
|       .uri_for(source_account) | ||||
|   end | ||||
| 
 | ||||
|   def change_source_moved_value | ||||
|     change(source_account.reload, :moved_to_account) | ||||
|       .from(nil) | ||||
|       .to(target_account) | ||||
|   end | ||||
| 
 | ||||
|   def process_local_updates | ||||
|     enqueue_sidekiq_job(MoveWorker) | ||||
|       .with(source_account.id, target_account.id) | ||||
|   end | ||||
| 
 | ||||
|   def distribute_updates | ||||
|     enqueue_sidekiq_job(ActivityPub::UpdateDistributionWorker) | ||||
|       .with(source_account.id) | ||||
|   end | ||||
| 
 | ||||
|   def distribute_move | ||||
|     enqueue_sidekiq_job(ActivityPub::MoveDistributionWorker) | ||||
|       .with(migration.id) | ||||
|   end | ||||
| end | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue