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:
parent
057097e8ad
commit
2178c50fed
2 changed files with 15 additions and 0 deletions
|
@ -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)
|
||||
|
||||
|
|
Loading…
Reference in a new issue