about summary refs log tree commit diff
path: root/spec/lib/activitypub/activity/accept_spec.rb
diff options
context:
space:
mode:
authorDavid Yip <yipdw@member.fsf.org>2018-01-08 09:48:42 -0600
committerDavid Yip <yipdw@member.fsf.org>2018-01-08 09:48:42 -0600
commit65986b6f0b66ea285b89bb82531067db146d8ecc (patch)
tree6c69dd7748ef1cd9ccc8cb1af32a4f27ca23586a /spec/lib/activitypub/activity/accept_spec.rb
parent2dc4fbbd1a13adbdca26a0b42ee6e289e736bba1 (diff)
parentf839ac694c3f8050e4c7ec84884283e35f6ac662 (diff)
Merge remote-tracking branch 'personal/merge/tootsuite/master' into gs-master
Diffstat (limited to 'spec/lib/activitypub/activity/accept_spec.rb')
-rw-r--r--spec/lib/activitypub/activity/accept_spec.rb53
1 files changed, 20 insertions, 33 deletions
diff --git a/spec/lib/activitypub/activity/accept_spec.rb b/spec/lib/activitypub/activity/accept_spec.rb
index 9f43be35d..6503c83e3 100644
--- a/spec/lib/activitypub/activity/accept_spec.rb
+++ b/spec/lib/activitypub/activity/accept_spec.rb
@@ -3,49 +3,36 @@ require 'rails_helper'
 RSpec.describe ActivityPub::Activity::Accept do
   let(:sender)    { Fabricate(:account) }
   let(:recipient) { Fabricate(:account) }
-  let!(:follow_request) { Fabricate(:follow_request, account: recipient, target_account: sender) }
+
+  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
 
   describe '#perform' do
     subject { described_class.new(json, sender) }
 
     before do
+      Fabricate(:follow_request, account: recipient, target_account: sender)
       subject.perform
     end
 
-    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
+    it 'creates a follow relationship' do
+      expect(recipient.following?(sender)).to be true
     end
 
-    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
+    it 'removes the follow request' do
+      expect(recipient.requested?(sender)).to be false
     end
   end
 end