|
|
|
@ -7,15 +7,29 @@ describe ResolveURLService, type: :service do |
|
|
|
|
|
|
|
|
|
describe '#call' do |
|
|
|
|
it 'returns nil when there is no resource url' do |
|
|
|
|
url = 'http://example.com/missing-resource' |
|
|
|
|
url = 'http://example.com/missing-resource' |
|
|
|
|
known_account = Fabricate(:account, uri: url) |
|
|
|
|
service = double |
|
|
|
|
|
|
|
|
|
allow(FetchResourceService).to receive(:new).and_return service |
|
|
|
|
allow(service).to receive(:response_code).and_return(404) |
|
|
|
|
allow(service).to receive(:call).with(url).and_return(nil) |
|
|
|
|
|
|
|
|
|
expect(subject.call(url)).to be_nil |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it 'returns known account on temporary error' do |
|
|
|
|
url = 'http://example.com/missing-resource' |
|
|
|
|
known_account = Fabricate(:account, uri: url) |
|
|
|
|
service = double |
|
|
|
|
|
|
|
|
|
allow(FetchResourceService).to receive(:new).and_return service |
|
|
|
|
allow(service).to receive(:response_code).and_return(500) |
|
|
|
|
allow(service).to receive(:call).with(url).and_return(nil) |
|
|
|
|
|
|
|
|
|
expect(subject.call(url)).to eq known_account |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
context 'searching for a remote private status' do |
|
|
|
|
let(:account) { Fabricate(:account) } |
|
|
|
|
let(:poster) { Fabricate(:account, domain: 'example.com') } |
|
|
|
|