|
|
|
@ -93,23 +93,46 @@ RSpec.describe Account, type: :model do
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe '#save_with_optional_media!' do
|
|
|
|
|
it 'sets default avatar, header, avatar_remote_url, and header_remote_url if some of them are invalid' do
|
|
|
|
|
before do
|
|
|
|
|
stub_request(:get, 'https://remote/valid_avatar').to_return(request_fixture('avatar.txt'))
|
|
|
|
|
stub_request(:get, 'https://remote/invalid_avatar').to_return(request_fixture('feed.txt'))
|
|
|
|
|
account = Fabricate(:account,
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
let(:account) do
|
|
|
|
|
Fabricate(:account,
|
|
|
|
|
avatar_remote_url: 'https://remote/valid_avatar',
|
|
|
|
|
header_remote_url: 'https://remote/valid_avatar')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
let!(:expectation) { account.dup }
|
|
|
|
|
|
|
|
|
|
context 'with valid properties' do
|
|
|
|
|
before do
|
|
|
|
|
account.save_with_optional_media!
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'unchanges avatar, header, avatar_remote_url, and header_remote_url' do
|
|
|
|
|
expect(account.avatar_remote_url).to eq expectation.avatar_remote_url
|
|
|
|
|
expect(account.header_remote_url).to eq expectation.header_remote_url
|
|
|
|
|
expect(account.avatar_file_name).to eq expectation.avatar_file_name
|
|
|
|
|
expect(account.header_file_name).to eq expectation.header_file_name
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'with invalid properties' do
|
|
|
|
|
before do
|
|
|
|
|
account.avatar_remote_url = 'https://remote/invalid_avatar'
|
|
|
|
|
account.save_with_optional_media!
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
account.reload
|
|
|
|
|
it 'sets default avatar, header, avatar_remote_url, and header_remote_url' do
|
|
|
|
|
expect(account.avatar_remote_url).to eq ''
|
|
|
|
|
expect(account.header_remote_url).to eq ''
|
|
|
|
|
expect(account.avatar_file_name).to eq nil
|
|
|
|
|
expect(account.header_file_name).to eq nil
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe '#subscribed?' do
|
|
|
|
|
it 'returns false when no subscription expiration information is present' do
|
|
|
|
|