Ensure replied-to is a status not a boost (#9129)
* Ensure replied-to is a status not a boost * Consider case of not a reply * Add test case for replying to boost * Move reblog-reply resolution to model * Remove unnecessary comment
This commit is contained in:
		| @@ -445,6 +445,8 @@ class Status < ApplicationRecord | ||||
|   end | ||||
|  | ||||
|   def set_conversation | ||||
|     self.thread = thread.reblog if thread&.reblog? | ||||
|  | ||||
|     self.reply = !(in_reply_to_id.nil? && thread.nil?) unless reply | ||||
|  | ||||
|     if reply? && !thread.nil? | ||||
|   | ||||
| @@ -25,6 +25,19 @@ RSpec.describe PostStatusService, type: :service do | ||||
|     expect(status.thread).to eq in_reply_to_status | ||||
|   end | ||||
|  | ||||
|   it 'creates response to the original status of boost' do | ||||
|     boosted_status = Fabricate(:status) | ||||
|     in_reply_to_status = Fabricate(:status, reblog: boosted_status) | ||||
|     account = Fabricate(:account) | ||||
|     text = "test status update" | ||||
|  | ||||
|     status = subject.call(account, text, in_reply_to_status) | ||||
|  | ||||
|     expect(status).to be_persisted | ||||
|     expect(status.text).to eq text | ||||
|     expect(status.thread).to eq boosted_status | ||||
|   end | ||||
|  | ||||
|   it 'creates a sensitive status' do | ||||
|     status = create_status_with_options(sensitive: true) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user