about summary refs log tree commit diff
path: root/spec/lib/activitypub/activity/follow_spec.rb
diff options
context:
space:
mode:
authorunarist <m.unarist@gmail.com>2017-08-14 23:57:46 +0900
committerEugen Rochko <eugen@zeonfederated.com>2017-08-14 16:57:46 +0200
commita855956185630742ad670f971337a3ff76fd8b32 (patch)
tree94dc8eacdea1d5d295920fb987f442fd0f7fda88 /spec/lib/activitypub/activity/follow_spec.rb
parent5b9ae7981e2458a322f9e2fbeac9b334a15936bc (diff)
Fix ActivityPub follow interaction and add more specs (#4601)
Diffstat (limited to 'spec/lib/activitypub/activity/follow_spec.rb')
-rw-r--r--spec/lib/activitypub/activity/follow_spec.rb29
1 files changed, 25 insertions, 4 deletions
diff --git a/spec/lib/activitypub/activity/follow_spec.rb b/spec/lib/activitypub/activity/follow_spec.rb
index 7c0e447f3..6bbacdbe6 100644
--- a/spec/lib/activitypub/activity/follow_spec.rb
+++ b/spec/lib/activitypub/activity/follow_spec.rb
@@ -17,12 +17,33 @@ RSpec.describe ActivityPub::Activity::Follow do
   describe '#perform' do
     subject { described_class.new(json, sender) }
 
-    before do
-      subject.perform
+    context 'unlocked account' do
+      before do
+        subject.perform
+      end
+
+      it 'creates a follow from sender to recipient' do
+        expect(sender.following?(recipient)).to be true
+      end
+
+      it 'does not create a follow request' do
+        expect(sender.requested?(recipient)).to be false
+      end
     end
 
-    it 'creates a follow from sender to recipient' do
-      expect(sender.following?(recipient)).to be true
+    context 'locked account' do
+      before do
+        recipient.update(locked: true)
+        subject.perform
+      end
+
+      it 'does not create a follow from sender to recipient' do
+        expect(sender.following?(recipient)).to be false
+      end
+
+      it 'creates a follow request' do
+        expect(sender.requested?(recipient)).to be true
+      end
     end
   end
 end