summaryrefslogtreecommitdiffstats
path: root/spec/lib
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2019-07-30 13:18:23 +0200
committerEugen Rochko <eugen@zeonfederated.com>2019-07-30 13:18:23 +0200
commitff789a751a1c730e4d808410411196b76caff39c (patch)
tree252543ac3417c93d5f2ccb9502a859c2359ca15f /spec/lib
parent648cdbc04a21580a89d337edb0f45308aff1b93f (diff)
Fix boosting & unboosting preventing a boost from appearing in the TL (#11405)
* Fix boosting & unboosting preventing a boost from appearing in the TL * Add tests * Avoids side effects when aggregate_reblogs isn't true
Diffstat (limited to 'spec/lib')
-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 9bdb675e195..b996997b136 100644
--- a/spec/lib/feed_manager_spec.rb
+++ b/spec/lib/feed_manager_spec.rb
@@ -247,6 +247,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)