diff options
author | Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp> | 2018-01-04 02:08:57 +0900 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2018-01-03 18:08:57 +0100 |
commit | 161c72d66d25bb8f5ff492e36a8521c701ab8afc (patch) | |
tree | d57b674958a4353bba0cf91ba4197748a66fc2f5 /spec/lib/activitypub | |
parent | 53d99ebf4f54c25fa58709e9dc05730479ea7d02 (diff) |
Allow to dereference Follow object for ActivityPub (#5772)
* Allow to dereference Follow object for ActivityPub * Accept IRI as object representation for Accept activity
Diffstat (limited to 'spec/lib/activitypub')
-rw-r--r-- | spec/lib/activitypub/activity/accept_spec.rb | 53 |
1 files changed, 33 insertions, 20 deletions
diff --git a/spec/lib/activitypub/activity/accept_spec.rb b/spec/lib/activitypub/activity/accept_spec.rb index 6503c83e3..9f43be35d 100644 --- a/spec/lib/activitypub/activity/accept_spec.rb +++ b/spec/lib/activitypub/activity/accept_spec.rb @@ -3,36 +3,49 @@ require 'rails_helper' RSpec.describe ActivityPub::Activity::Accept do let(:sender) { Fabricate(:account) } let(:recipient) { Fabricate(:account) } - - let(:json) do - { - '@context': 'https://www.w3.org/ns/activitystreams', - id: 'foo', - type: 'Accept', - actor: ActivityPub::TagManager.instance.uri_for(sender), - object: { - id: 'bar', - type: 'Follow', - actor: ActivityPub::TagManager.instance.uri_for(recipient), - object: ActivityPub::TagManager.instance.uri_for(sender), - }, - }.with_indifferent_access - end + let!(:follow_request) { Fabricate(:follow_request, account: recipient, target_account: sender) } describe '#perform' do subject { described_class.new(json, sender) } before do - Fabricate(:follow_request, account: recipient, target_account: sender) subject.perform end - it 'creates a follow relationship' do - expect(recipient.following?(sender)).to be true + context 'with concerete object representation' do + let(:json) do + { + '@context': 'https://www.w3.org/ns/activitystreams', + id: 'foo', + type: 'Accept', + actor: ActivityPub::TagManager.instance.uri_for(sender), + object: { + type: 'Follow', + actor: ActivityPub::TagManager.instance.uri_for(recipient), + object: ActivityPub::TagManager.instance.uri_for(sender), + }, + }.with_indifferent_access + end + + it 'creates a follow relationship' do + expect(recipient.following?(sender)).to be true + end end - it 'removes the follow request' do - expect(recipient.requested?(sender)).to be false + context 'with object represented by id' do + let(:json) do + { + '@context': 'https://www.w3.org/ns/activitystreams', + id: 'foo', + type: 'Accept', + actor: ActivityPub::TagManager.instance.uri_for(sender), + object: ActivityPub::TagManager.instance.uri_for(follow_request), + }.with_indifferent_access + end + + it 'creates a follow relationship' do + expect(recipient.following?(sender)).to be true + end end end end |