|
|
|
@ -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 |
|
|
|
|