0
0
Fork 0

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
This commit is contained in:
ThibG 2018-12-05 02:12:29 +01:00 committed by Eugen Rochko
parent a61ce1c947
commit e88c6a5c3c
2 changed files with 21 additions and 15 deletions

View file

@ -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