From 824497fbced31cb293fa1baee96105c666e34916 Mon Sep 17 00:00:00 2001 From: valerauko Date: Thu, 22 Nov 2018 20:49:07 +0900 Subject: Ignore JSON-LD profile in mime type comparison (#9179) Ignore JSON-LD profile in mime type comparison --- spec/services/fetch_atom_service_spec.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'spec/services') diff --git a/spec/services/fetch_atom_service_spec.rb b/spec/services/fetch_atom_service_spec.rb index 30e5b0935..495540004 100644 --- a/spec/services/fetch_atom_service_spec.rb +++ b/spec/services/fetch_atom_service_spec.rb @@ -60,8 +60,15 @@ RSpec.describe FetchAtomService, type: :service do it { is_expected.to eq [url, { :prefetched_body => "" }, :ostatus] } end - context 'content_type is json' do - let(:content_type) { 'application/activity+json' } + context 'content_type is activity+json' do + let(:content_type) { 'application/activity+json; charset=utf-8' } + let(:body) { json } + + it { is_expected.to eq [1, { prefetched_body: body, id: true }, :activitypub] } + end + + context 'content_type is ld+json with profile' do + let(:content_type) { 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"' } let(:body) { json } it { is_expected.to eq [1, { prefetched_body: body, id: true }, :activitypub] } -- cgit From db9aea34dead1b230e44b4235ff8af8100108b7f Mon Sep 17 00:00:00 2001 From: valerauko Date: Mon, 26 Nov 2018 00:35:21 +0900 Subject: 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 --- app/models/status.rb | 2 ++ spec/services/post_status_service_spec.rb | 13 +++++++++++++ 2 files changed, 15 insertions(+) (limited to 'spec/services') diff --git a/app/models/status.rb b/app/models/status.rb index 0449d33e1..2e894a6f1 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -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? diff --git a/spec/services/post_status_service_spec.rb b/spec/services/post_status_service_spec.rb index 40fa8fbef..349ad861b 100644 --- a/spec/services/post_status_service_spec.rb +++ b/spec/services/post_status_service_spec.rb @@ -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) -- cgit