Remove body_as_json
in favor of built-in response.parsed_body
for JSON response specs (#31749)
This commit is contained in:
parent
be77a1098b
commit
6b6a80b407
107 changed files with 422 additions and 413 deletions
|
@ -31,7 +31,7 @@ RSpec.describe ActivityPub::CollectionsController do
|
|||
.and have_cacheable_headers
|
||||
expect(response.media_type).to eq 'application/activity+json'
|
||||
|
||||
expect(body_as_json[:orderedItems])
|
||||
expect(response.parsed_body[:orderedItems])
|
||||
.to be_an(Array)
|
||||
.and have_attributes(size: 3)
|
||||
.and include(ActivityPub::TagManager.instance.uri_for(private_pinned))
|
||||
|
@ -71,7 +71,7 @@ RSpec.describe ActivityPub::CollectionsController do
|
|||
|
||||
expect(response.media_type).to eq 'application/activity+json'
|
||||
|
||||
expect(body_as_json[:orderedItems])
|
||||
expect(response.parsed_body[:orderedItems])
|
||||
.to be_an(Array)
|
||||
.and have_attributes(size: 3)
|
||||
.and include(ActivityPub::TagManager.instance.uri_for(private_pinned))
|
||||
|
@ -94,7 +94,7 @@ RSpec.describe ActivityPub::CollectionsController do
|
|||
expect(response.media_type).to eq 'application/activity+json'
|
||||
expect(response.headers['Cache-Control']).to include 'private'
|
||||
|
||||
expect(body_as_json[:orderedItems])
|
||||
expect(response.parsed_body[:orderedItems])
|
||||
.to be_an(Array)
|
||||
.and be_empty
|
||||
end
|
||||
|
@ -110,7 +110,7 @@ RSpec.describe ActivityPub::CollectionsController do
|
|||
expect(response.media_type).to eq 'application/activity+json'
|
||||
expect(response.headers['Cache-Control']).to include 'private'
|
||||
|
||||
expect(body_as_json[:orderedItems])
|
||||
expect(response.parsed_body[:orderedItems])
|
||||
.to be_an(Array)
|
||||
.and be_empty
|
||||
end
|
||||
|
|
|
@ -34,7 +34,6 @@ RSpec.describe ActivityPub::FollowersSynchronizationsController do
|
|||
context 'with signature from example.com' do
|
||||
subject(:response) { get :show, params: { account_username: account.username } }
|
||||
|
||||
let(:body) { body_as_json }
|
||||
let(:remote_account) { Fabricate(:account, domain: 'example.com', uri: 'https://example.com/instance') }
|
||||
|
||||
it 'returns http success and cache control and activity json types and correct items' do
|
||||
|
@ -42,7 +41,7 @@ RSpec.describe ActivityPub::FollowersSynchronizationsController do
|
|||
expect(response.headers['Cache-Control']).to eq 'max-age=0, private'
|
||||
expect(response.media_type).to eq 'application/activity+json'
|
||||
|
||||
expect(body[:orderedItems])
|
||||
expect(response.parsed_body[:orderedItems])
|
||||
.to be_an(Array)
|
||||
.and contain_exactly(
|
||||
follower_example_com_instance_actor.uri,
|
||||
|
|
|
@ -19,7 +19,6 @@ RSpec.describe ActivityPub::OutboxesController do
|
|||
context 'without signature' do
|
||||
subject(:response) { get :show, params: { account_username: account.username, page: page } }
|
||||
|
||||
let(:body) { body_as_json }
|
||||
let(:remote_account) { nil }
|
||||
|
||||
context 'with page not requested' do
|
||||
|
@ -32,7 +31,7 @@ RSpec.describe ActivityPub::OutboxesController do
|
|||
|
||||
expect(response.media_type).to eq 'application/activity+json'
|
||||
expect(response.headers['Vary']).to be_nil
|
||||
expect(body[:totalItems]).to eq 4
|
||||
expect(response.parsed_body[:totalItems]).to eq 4
|
||||
end
|
||||
|
||||
context 'when account is permanently suspended' do
|
||||
|
@ -68,9 +67,11 @@ RSpec.describe ActivityPub::OutboxesController do
|
|||
expect(response.media_type).to eq 'application/activity+json'
|
||||
expect(response.headers['Vary']).to include 'Signature'
|
||||
|
||||
expect(body[:orderedItems]).to be_an Array
|
||||
expect(body[:orderedItems].size).to eq 2
|
||||
expect(body[:orderedItems].all? { |item| targets_public_collection?(item) }).to be true
|
||||
expect(response.parsed_body)
|
||||
.to include(
|
||||
orderedItems: be_an(Array).and(have_attributes(size: 2))
|
||||
)
|
||||
expect(response.parsed_body[:orderedItems].all? { |item| targets_public_collection?(item) }).to be true
|
||||
end
|
||||
|
||||
context 'when account is permanently suspended' do
|
||||
|
@ -110,9 +111,11 @@ RSpec.describe ActivityPub::OutboxesController do
|
|||
expect(response.media_type).to eq 'application/activity+json'
|
||||
expect(response.headers['Cache-Control']).to eq 'max-age=60, private'
|
||||
|
||||
expect(body_as_json[:orderedItems]).to be_an Array
|
||||
expect(body_as_json[:orderedItems].size).to eq 2
|
||||
expect(body_as_json[:orderedItems].all? { |item| targets_public_collection?(item) }).to be true
|
||||
expect(response.parsed_body)
|
||||
.to include(
|
||||
orderedItems: be_an(Array).and(have_attributes(size: 2))
|
||||
)
|
||||
expect(response.parsed_body[:orderedItems].all? { |item| targets_public_collection?(item) }).to be true
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -127,9 +130,11 @@ RSpec.describe ActivityPub::OutboxesController do
|
|||
expect(response.media_type).to eq 'application/activity+json'
|
||||
expect(response.headers['Cache-Control']).to eq 'max-age=60, private'
|
||||
|
||||
expect(body_as_json[:orderedItems]).to be_an Array
|
||||
expect(body_as_json[:orderedItems].size).to eq 3
|
||||
expect(body_as_json[:orderedItems].all? { |item| targets_public_collection?(item) || targets_followers_collection?(item, account) }).to be true
|
||||
expect(response.parsed_body)
|
||||
.to include(
|
||||
orderedItems: be_an(Array).and(have_attributes(size: 3))
|
||||
)
|
||||
expect(response.parsed_body[:orderedItems].all? { |item| targets_public_collection?(item) || targets_followers_collection?(item, account) }).to be true
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -144,9 +149,10 @@ RSpec.describe ActivityPub::OutboxesController do
|
|||
expect(response.media_type).to eq 'application/activity+json'
|
||||
expect(response.headers['Cache-Control']).to eq 'max-age=60, private'
|
||||
|
||||
expect(body_as_json[:orderedItems])
|
||||
.to be_an(Array)
|
||||
.and be_empty
|
||||
expect(response.parsed_body)
|
||||
.to include(
|
||||
orderedItems: be_an(Array).and(be_empty)
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -161,9 +167,10 @@ RSpec.describe ActivityPub::OutboxesController do
|
|||
expect(response.media_type).to eq 'application/activity+json'
|
||||
expect(response.headers['Cache-Control']).to eq 'max-age=60, private'
|
||||
|
||||
expect(body_as_json[:orderedItems])
|
||||
.to be_an(Array)
|
||||
.and be_empty
|
||||
expect(response.parsed_body)
|
||||
.to include(
|
||||
orderedItems: be_an(Array).and(be_empty)
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -66,7 +66,7 @@ RSpec.describe ActivityPub::RepliesController do
|
|||
|
||||
context 'when status is public' do
|
||||
let(:parent_visibility) { :public }
|
||||
let(:page_json) { body_as_json[:first] }
|
||||
let(:page_json) { response.parsed_body[:first] }
|
||||
|
||||
it 'returns http success and correct media type' do
|
||||
expect(response)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue