about summary refs log tree commit diff
path: root/spec/lib/feed_manager_spec.rb
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2019-08-05 13:13:28 +0200
committerThibaut Girka <thib@sitedethib.com>2019-08-05 13:13:28 +0200
commite50554391aa726afe18ae1c0bc7ccbf69d7b4aec (patch)
treeb0cbd7b46a733f386c458a6f2f818a899f418b21 /spec/lib/feed_manager_spec.rb
parentff0ceb28b3f1b19a6851a482f8203e434e50f167 (diff)
parent6201bfdfba7626c2b6bc5154dda1f41ee8c3ae71 (diff)
Merge branch 'master' into glitch-soc/merge-upstream
Diffstat (limited to 'spec/lib/feed_manager_spec.rb')
-rw-r--r--spec/lib/feed_manager_spec.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/lib/feed_manager_spec.rb b/spec/lib/feed_manager_spec.rb
index d00dd0b55..705e577a6 100644
--- a/spec/lib/feed_manager_spec.rb
+++ b/spec/lib/feed_manager_spec.rb
@@ -254,6 +254,23 @@ RSpec.describe FeedManager do
         expect(FeedManager.instance.push_to_home(account, reblogs.last)).to be false
       end
 
+      it 'saves a new reblog of a recently-reblogged status when previous reblog has been deleted' do
+        account = Fabricate(:account)
+        reblogged = Fabricate(:status)
+        old_reblog = Fabricate(:status, reblog: reblogged)
+
+        # The first reblog should be accepted
+        expect(FeedManager.instance.push_to_home(account, old_reblog)).to be true
+
+        # The first reblog should be successfully removed
+        expect(FeedManager.instance.unpush_from_home(account, old_reblog)).to be true
+
+        reblog = Fabricate(:status, reblog: reblogged)
+
+        # The second reblog should be accepted
+        expect(FeedManager.instance.push_to_home(account, reblog)).to be true
+      end
+
       it 'does not save a new reblog of a multiply-reblogged-then-unreblogged status' do
         account   = Fabricate(:account)
         reblogged = Fabricate(:status)