Add test for Account#save_with_optional_media! (#5603)
There was a test when some of the properties are invalid, but none when all of them are valid.remotes/1727458204337373841/tmp_refs/heads/signup-info-prompt
parent
d48779cf7b
commit
cf01326cc1
|
@ -93,21 +93,44 @@ RSpec.describe Account, type: :model do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#save_with_optional_media!' do
|
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/valid_avatar').to_return(request_fixture('avatar.txt'))
|
||||||
stub_request(:get, 'https://remote/invalid_avatar').to_return(request_fixture('feed.txt'))
|
stub_request(:get, 'https://remote/invalid_avatar').to_return(request_fixture('feed.txt'))
|
||||||
account = Fabricate(:account,
|
end
|
||||||
avatar_remote_url: 'https://remote/valid_avatar',
|
|
||||||
header_remote_url: 'https://remote/valid_avatar')
|
|
||||||
|
|
||||||
account.avatar_remote_url = 'https://remote/invalid_avatar'
|
let(:account) do
|
||||||
account.save_with_optional_media!
|
Fabricate(:account,
|
||||||
|
avatar_remote_url: 'https://remote/valid_avatar',
|
||||||
|
header_remote_url: 'https://remote/valid_avatar')
|
||||||
|
end
|
||||||
|
|
||||||
account.reload
|
let!(:expectation) { account.dup }
|
||||||
expect(account.avatar_remote_url).to eq ''
|
|
||||||
expect(account.header_remote_url).to eq ''
|
context 'with valid properties' do
|
||||||
expect(account.avatar_file_name).to eq nil
|
before do
|
||||||
expect(account.header_file_name).to eq nil
|
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
|
||||||
|
|
||||||
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue