parent
cc938d76a7
commit
99511ee1b5
3 changed files with 69 additions and 1 deletions
|
@ -108,6 +108,69 @@ RSpec.describe Api::V1::StatusesController do
|
|||
end
|
||||
end
|
||||
|
||||
context 'with reference' do
|
||||
let(:status) { Fabricate(:status, account: user.account) }
|
||||
let(:scopes) { 'read:statuses' }
|
||||
let(:referred) { Fabricate(:status) }
|
||||
let(:referred_private) { Fabricate(:status, visibility: :private) }
|
||||
let(:referred_private_following) { Fabricate(:status, visibility: :private) }
|
||||
|
||||
before do
|
||||
user.account.follow!(referred_private_following.account)
|
||||
Fabricate(:status_reference, status: status, target_status: referred)
|
||||
Fabricate(:status_reference, status: status, target_status: referred_private)
|
||||
Fabricate(:status_reference, status: status, target_status: referred_private_following)
|
||||
end
|
||||
|
||||
it 'returns http success' do
|
||||
get :context, params: { id: status.id }
|
||||
expect(response).to have_http_status(200)
|
||||
end
|
||||
|
||||
it 'returns empty references' do
|
||||
get :context, params: { id: status.id }
|
||||
status_ids = body_as_json[:references].map { |ref| ref[:id].to_i }
|
||||
|
||||
expect(status_ids).to eq []
|
||||
end
|
||||
|
||||
it 'contains referred status' do
|
||||
get :context, params: { id: status.id }
|
||||
status_ids = body_as_json[:ancestors].map { |ref| ref[:id].to_i }
|
||||
|
||||
expect(status_ids).to include referred.id
|
||||
expect(status_ids).to include referred_private_following.id
|
||||
end
|
||||
|
||||
it 'does not contain private status' do
|
||||
get :context, params: { id: status.id }
|
||||
status_ids = body_as_json[:ancestors].map { |ref| ref[:id].to_i }
|
||||
|
||||
expect(status_ids).to_not include referred_private.id
|
||||
end
|
||||
|
||||
context 'when with_reference is enabled' do
|
||||
it 'returns http success' do
|
||||
get :context, params: { id: status.id, with_reference: true }
|
||||
expect(response).to have_http_status(200)
|
||||
end
|
||||
|
||||
it 'returns empty ancestors' do
|
||||
get :context, params: { id: status.id, with_reference: true }
|
||||
status_ids = body_as_json[:ancestors].map { |ref| ref[:id].to_i }
|
||||
|
||||
expect(status_ids).to eq []
|
||||
end
|
||||
|
||||
it 'contains referred status' do
|
||||
get :context, params: { id: status.id, with_reference: true }
|
||||
status_ids = body_as_json[:references].map { |ref| ref[:id].to_i }
|
||||
|
||||
expect(status_ids).to include referred.id
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'POST #create' do
|
||||
let(:scopes) { 'write:statuses' }
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue