forked from cybrespace/mastodon
47 lines
1.2 KiB
Ruby
47 lines
1.2 KiB
Ruby
require 'rails_helper'
|
|
|
|
describe Api::V1::Accounts::FollowingAccountsController do
|
|
render_views
|
|
|
|
let(:user) { Fabricate(:user, account: Fabricate(:account, username: 'alice')) }
|
|
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:accounts') }
|
|
|
|
before do
|
|
allow(controller).to receive(:doorkeeper_token) { token }
|
|
end
|
|
|
|
describe 'GET #index' do
|
|
let(:simon) { Fabricate(:account, username: 'simon') }
|
|
let(:lewis) { Fabricate(:account, username: 'lewis') }
|
|
|
|
before do
|
|
lewis.follow!(simon)
|
|
end
|
|
|
|
it 'returns http success' do
|
|
get :index, params: { account_id: lewis.id, limit: 1 }
|
|
|
|
expect(response).to have_http_status(200)
|
|
end
|
|
|
|
it 'returns JSON with correct data' do
|
|
get :index, params: { account_id: lewis.id, limit: 1 }
|
|
|
|
json = body_as_json
|
|
|
|
expect(json).to be_a Enumerable
|
|
expect(json.first[:username]).to eq 'simon'
|
|
end
|
|
|
|
it 'does not return accounts blocking you' do
|
|
simon.block!(user.account)
|
|
get :index, params: { account_id: lewis.id, limit: 1 }
|
|
|
|
json = body_as_json
|
|
|
|
expect(json).to be_a Enumerable
|
|
expect(json.size).to eq 0
|
|
end
|
|
end
|
|
end
|