|
|
|
|
@ -248,6 +248,29 @@ RSpec.describe '/api/v1/statuses' do
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'with a quote of a reblog' do
|
|
|
|
|
let(:quoted_status) { Fabricate(:status, quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16) }
|
|
|
|
|
let(:reblog) { Fabricate(:status, reblog: quoted_status) }
|
|
|
|
|
let(:params) do
|
|
|
|
|
{
|
|
|
|
|
status: 'Hello world, this is a self-quote',
|
|
|
|
|
quoted_status_id: reblog.id,
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'returns a quote post, as well as rate limit headers', :aggregate_failures do
|
|
|
|
|
subject
|
|
|
|
|
|
|
|
|
|
expect(response).to have_http_status(200)
|
|
|
|
|
expect(response.content_type)
|
|
|
|
|
.to start_with('application/json')
|
|
|
|
|
expect(response.parsed_body[:quote]).to be_present
|
|
|
|
|
expect(response.parsed_body[:quote][:quoted_status][:id]).to eq quoted_status.id.to_s
|
|
|
|
|
expect(response.headers['X-RateLimit-Limit']).to eq RateLimiter::FAMILIES[:statuses][:limit].to_s
|
|
|
|
|
expect(response.headers['X-RateLimit-Remaining']).to eq (RateLimiter::FAMILIES[:statuses][:limit] - 1).to_s
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'with a self-quote post and a CW but no text' do
|
|
|
|
|
let(:quoted_status) { Fabricate(:status, account: user.account) }
|
|
|
|
|
let(:params) do
|
|
|
|
|
|