about summary refs log tree commit diff
path: root/spec/controllers/statuses_controller_spec.rb
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2018-12-05 02:12:29 +0100
committerEugen Rochko <eugen@zeonfederated.com>2018-12-05 02:12:29 +0100
commite88c6a5c3c188731f7784141b8835c410163cbeb (patch)
tree8f9eca052c6cf60bd5c59d2bdf376e090aa70976 /spec/controllers/statuses_controller_spec.rb
parenta61ce1c947eda67e62ee2f1abcaf44ebcc60d7ec (diff)
Fix thread depth computation in statuses_controller (#9426)
* Add test that should currently fail

* Fix depth computation (will still fail if statuses have been filtered out)

* Fix handling of broken threads
Diffstat (limited to 'spec/controllers/statuses_controller_spec.rb')
-rw-r--r--spec/controllers/statuses_controller_spec.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/spec/controllers/statuses_controller_spec.rb b/spec/controllers/statuses_controller_spec.rb
index b4f3c5a08..1bb6636c6 100644
--- a/spec/controllers/statuses_controller_spec.rb
+++ b/spec/controllers/statuses_controller_spec.rb
@@ -115,14 +115,18 @@ describe StatusesController do
       end
 
       it 'assigns @descendant_threads for threads with :next_status key if they are hitting the depth limit' do
-        stub_const 'StatusesController::DESCENDANTS_DEPTH_LIMIT', 1
+        stub_const 'StatusesController::DESCENDANTS_DEPTH_LIMIT', 2
         status = Fabricate(:status)
-        child = Fabricate(:status, in_reply_to_id: status.id)
+        child0 = Fabricate(:status, in_reply_to_id: status.id)
+        child1 = Fabricate(:status, in_reply_to_id: child0.id)
+        child2 = Fabricate(:status, in_reply_to_id: child0.id)
 
         get :show, params: { account_username: status.account.username, id: status.id }
 
-        expect(assigns(:descendant_threads)[0][:statuses].pluck(:id)).not_to include child.id
-        expect(assigns(:descendant_threads)[0][:next_status].id).to eq child.id
+        expect(assigns(:descendant_threads)[0][:statuses].pluck(:id)).not_to include child1.id
+        expect(assigns(:descendant_threads)[1][:statuses].pluck(:id)).not_to include child2.id
+        expect(assigns(:descendant_threads)[0][:next_status].id).to eq child1.id
+        expect(assigns(:descendant_threads)[1][:next_status].id).to eq child2.id
       end
 
       it 'returns a success' do