about summary refs log tree commit diff
path: root/spec/controllers/api/v1/statuses/reblogs_controller_spec.rb
diff options
context:
space:
mode:
authorStarfall <us@starfall.systems>2020-07-17 14:00:08 -0500
committerStarfall <us@starfall.systems>2020-07-17 14:00:08 -0500
commitc5b7bf491e9aaf0a92f7899d60d12705d98436dc (patch)
tree7506b93ec2c20bf068f2b57c31d0a05e0485aed5 /spec/controllers/api/v1/statuses/reblogs_controller_spec.rb
parent2f20bc2a8275875033c97249825a2a3305980c3b (diff)
parent801e546ecc1efb4103232d8265229eb455a8dd5b (diff)
glitch 3.2.0 update / Merge branch 'glitch' into main
Diffstat (limited to 'spec/controllers/api/v1/statuses/reblogs_controller_spec.rb')
-rw-r--r--spec/controllers/api/v1/statuses/reblogs_controller_spec.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/controllers/api/v1/statuses/reblogs_controller_spec.rb b/spec/controllers/api/v1/statuses/reblogs_controller_spec.rb
index 93b244cc3..f1d3d949c 100644
--- a/spec/controllers/api/v1/statuses/reblogs_controller_spec.rb
+++ b/spec/controllers/api/v1/statuses/reblogs_controller_spec.rb
@@ -82,6 +82,36 @@ describe Api::V1::Statuses::ReblogsController do
         end
       end
 
+      context 'with public status when blocked by its author' do
+        let(:status) { Fabricate(:status, account: user.account) }
+
+        before do
+          ReblogService.new.call(user.account, status)
+          status.account.block!(user.account)
+          post :destroy, params: { status_id: status.id }
+        end
+
+        it 'returns http success' do
+          expect(response).to have_http_status(200)
+        end
+
+        it 'updates the reblogs count' do
+          expect(status.reblogs.count).to eq 0
+        end
+
+        it 'updates the reblogged attribute' do
+          expect(user.account.reblogged?(status)).to be false
+        end
+
+        it 'returns json with updated attributes' do
+          hash_body = body_as_json
+
+          expect(hash_body[:id]).to eq status.id.to_s
+          expect(hash_body[:reblogs_count]).to eq 0
+          expect(hash_body[:reblogged]).to be false
+        end
+      end
+
       context 'with private status that was not reblogged' do
         let(:status) { Fabricate(:status, visibility: :private) }