commit
e768ef35b1
@ -0,0 +1,16 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module RelationshipCacheable
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
included do
|
||||
after_commit :remove_relationship_cache
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def remove_relationship_cache
|
||||
Rails.cache.delete("relationship:#{account_id}:#{target_account_id}")
|
||||
Rails.cache.delete("relationship:#{target_account_id}:#{account_id}")
|
||||
end
|
||||
end
|
@ -1,4 +1,35 @@
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe FetchRemoteStatusService do
|
||||
let(:account) { Fabricate(:account) }
|
||||
let(:prefetched_body) { nil }
|
||||
let(:valid_domain) { Rails.configuration.x.local_domain }
|
||||
|
||||
let(:note) do
|
||||
{
|
||||
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||
id: "https://#{valid_domain}/@foo/1234",
|
||||
type: 'Note',
|
||||
content: 'Lorem ipsum',
|
||||
attributedTo: ActivityPub::TagManager.instance.uri_for(account),
|
||||
}
|
||||
end
|
||||
|
||||
context 'protocol is :activitypub' do
|
||||
subject { described_class.new.call(note[:id], prefetched_body, protocol) }
|
||||
let(:prefetched_body) { Oj.dump(note) }
|
||||
let(:protocol) { :activitypub }
|
||||
|
||||
before do
|
||||
account.update(uri: ActivityPub::TagManager.instance.uri_for(account))
|
||||
subject
|
||||
end
|
||||
|
||||
it 'creates status' do
|
||||
status = account.statuses.first
|
||||
|
||||
expect(status).to_not be_nil
|
||||
expect(status.text).to eq 'Lorem ipsum'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in new issue