Add conversation model, <ostatus:conversation /> (#3016)

* Add <ostatus:conversation /> tag to Atom input/output

Only uses ref attribute (not href) because href would be
the alternate link that's always included also.

Creates new conversation for every non-reply status. Carries
over conversation for every reply. Keeps remote URIs verbatim,
generates local URIs on the fly like the rest of them.

* Fix conversation migration

* More spec coverage for status before_create

* Prevent n+1 query when generating Atom with the new conversations

* Improve code style

* Remove redundant local variable
This commit is contained in:
Eugen Rochko 2017-05-12 19:09:21 +02:00 committed by GitHub
parent b5a9c6b3d2
commit 5abdc77c80
11 changed files with 144 additions and 10 deletions

View file

@ -0,0 +1,13 @@
require 'rails_helper'
RSpec.describe Conversation, type: :model do
describe '#local?' do
it 'returns true when URI is nil' do
expect(Fabricate(:conversation).local?).to be true
end
it 'returns false when URI is not nil' do
expect(Fabricate(:conversation, uri: 'abc').local?).to be false
end
end
end