Add test coverage for Mastodon::CLI::Accounts#backup (#25163)
				
					
				
			This commit is contained in:
		
							parent
							
								
									8b1bfaed3e
								
							
						
					
					
						commit
						3c41547f49
					
				@ -624,4 +624,42 @@ describe Mastodon::CLI::Accounts do
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  describe '#backup' do
 | 
			
		||||
    context 'when the given username is not found' do
 | 
			
		||||
      let(:arguments) { ['non_existent_username'] }
 | 
			
		||||
 | 
			
		||||
      it 'exits with an error message indicating that there is no such account' do
 | 
			
		||||
        expect { cli.invoke(:backup, arguments) }.to output(
 | 
			
		||||
          a_string_including('No user with such username')
 | 
			
		||||
        ).to_stdout
 | 
			
		||||
          .and raise_error(SystemExit)
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'when the given username is found' do
 | 
			
		||||
      let(:account) { Fabricate(:account) }
 | 
			
		||||
      let(:user) { account.user }
 | 
			
		||||
      let(:arguments) { [account.username] }
 | 
			
		||||
 | 
			
		||||
      it 'creates a new backup for the specified user' do
 | 
			
		||||
        expect { cli.invoke(:backup, arguments) }.to change { user.backups.count }.by(1)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'creates a backup job' do
 | 
			
		||||
        allow(BackupWorker).to receive(:perform_async)
 | 
			
		||||
 | 
			
		||||
        cli.invoke(:backup, arguments)
 | 
			
		||||
        latest_backup = user.backups.last
 | 
			
		||||
 | 
			
		||||
        expect(BackupWorker).to have_received(:perform_async).with(latest_backup.id).once
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'displays a successful message' do
 | 
			
		||||
        expect { cli.invoke(:backup, arguments) }.to output(
 | 
			
		||||
          a_string_including('OK')
 | 
			
		||||
        ).to_stdout
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user