about summary refs log tree commit diff
path: root/spec
diff options
context:
space:
mode:
authorJenkins <jenkins@jenkins.ninjawedding.org>2018-01-08 10:17:15 +0000
committerJenkins <jenkins@jenkins.ninjawedding.org>2018-01-08 10:17:15 +0000
commitf839ac694c3f8050e4c7ec84884283e35f6ac662 (patch)
tree68ab420feffbfc99de00d72f2e6b0beae4a7b7a0 /spec
parent722b3f567f18ae31b05f320441c73279b4f5ad11 (diff)
parentdbda87c31f7d7ede7312ba422940841d8c96c171 (diff)
Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master
Diffstat (limited to 'spec')
-rw-r--r--spec/controllers/activitypub/follows_controller_spec.rb43
-rw-r--r--spec/lib/activitypub/activity/accept_spec.rb53
-rw-r--r--spec/models/follow_request_spec.rb8
3 files changed, 20 insertions, 84 deletions
diff --git a/spec/controllers/activitypub/follows_controller_spec.rb b/spec/controllers/activitypub/follows_controller_spec.rb
deleted file mode 100644
index 6026cd353..000000000
--- a/spec/controllers/activitypub/follows_controller_spec.rb
+++ /dev/null
@@ -1,43 +0,0 @@
-# frozen_string_literal: true
-
-require 'rails_helper'
-
-describe ActivityPub::FollowsController, type: :controller do
-  let(:follow_request) { Fabricate(:follow_request, account: account) }
-
-  render_views
-
-  context 'with local account' do
-    let(:account) { Fabricate(:account, domain: nil) }
-
-    it 'returns follow request' do
-      signed_request = Request.new(:get, account_follow_url(account, follow_request))
-      signed_request.on_behalf_of(follow_request.target_account)
-      request.headers.merge! signed_request.headers
-
-      get :show, params: { id: follow_request, account_username: account.username }
-
-      expect(body_as_json[:id]).to eq ActivityPub::TagManager.instance.uri_for(follow_request)
-      expect(response).to have_http_status :success
-    end
-
-    it 'returns http 404 without signature' do
-      get :show, params: { id: follow_request, account_username: account.username }
-      expect(response).to have_http_status 404
-    end
-  end
-
-  context 'with remote account' do
-    let(:account) { Fabricate(:account, domain: Faker::Internet.domain_name) }
-
-    it 'returns http 404' do
-      signed_request = Request.new(:get, account_follow_url(account, follow_request))
-      signed_request.on_behalf_of(follow_request.target_account)
-      request.headers.merge! signed_request.headers
-
-      get :show, params: { id: follow_request, account_username: account.username }
-
-      expect(response).to have_http_status 404
-    end
-  end
-end
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
diff --git a/spec/models/follow_request_spec.rb b/spec/models/follow_request_spec.rb
index 18f61e7cb..7bc93a2aa 100644
--- a/spec/models/follow_request_spec.rb
+++ b/spec/models/follow_request_spec.rb
@@ -34,12 +34,4 @@ RSpec.describe FollowRequest, type: :model do
       expect(follow_request.account.muting_reblogs?(target)).to be true
     end
   end
-
-  describe '#object_type' do
-    let(:follow_request) { Fabricate(:follow_request) }
-
-    it 'equals to :follow' do
-      expect(follow_request.object_type).to eq :follow
-    end
-  end
 end