cache_associated :account, :application, :media_attachments, :tags, :stream_entry, mentions: :account, reblog: [:account, :application, :stream_entry, :tags, :media_attachments, mentions: :account], thread: :account
def reply?
- !in_reply_to_id.nil? || super
+ !in_reply_to_id.nil? || attributes['reply']
end
def local?
end
before_validation :prepare_contents
- before_create :set_reblog
- before_create :set_visibility
- before_create :set_conversation
+ before_validation :set_reblog
+ before_validation :set_visibility
+ before_validation :set_conversation
class << self
def in_allowed_languages(account)
expect(Status.find_by(uri: 'tag:kickass.zone,2016-10-10:objectId=2:objectType=Status')).to_not be_nil
end
+ it 'marks replies as replies' do
+ status = Status.find_by(uri: 'tag:kickass.zone,2016-10-10:objectId=2:objectType=Status')
+ expect(status.reply?).to be true
+ end
+
+ it 'sets account being replied to when possible' do
+ status = Status.find_by(uri: 'tag:kickass.zone,2016-10-10:objectId=2:objectType=Status')
+ expect(status.in_reply_to_account_id).to eq status.account_id
+ end
+
it 'ignores delete statuses unless they existed before' do
expect(Status.find_by(uri: 'tag:kickass.zone,2016-10-10:objectId=3:objectType=Status')).to be_nil
expect(Status.find_by(uri: 'tag:kickass.zone,2016-10-10:objectId=12:objectType=Status')).to be_nil