Browse Source

Add test for reblog race condition fix (#17732)

Follow-up to #17693
Claire 2 years ago
parent
commit
5ccd6cbfda
1 changed files with 12 additions and 0 deletions
  1. 12 0
      spec/services/reblog_service_spec.rb

+ 12 - 0
spec/services/reblog_service_spec.rb

@@ -32,6 +32,18 @@ RSpec.describe ReblogService, type: :service do
     end
   end
 
+  context 'when the reblogged status is discarded in the meantime' do
+    let(:status) { Fabricate(:status, account: alice, visibility: :public) }
+
+    before do
+      status.discard
+    end
+
+    it 'raises an exception' do
+      expect { subject.call(alice, status) }.to raise_error ActiveRecord::ActiveRecordError
+    end
+  end
+
   context 'ActivityPub' do
     let(:bob)    { Fabricate(:account, username: 'bob', protocol: :activitypub, domain: 'example.com', inbox_url: 'http://example.com/inbox') }
     let(:status) { Fabricate(:status, account: bob) }