Browse Source

Fix #5953 - Add GET /api/v1/accounts/:id/lists (#5983)

pull/4/head
Eugen Rochko 6 years ago
committed by GitHub
parent
commit
1356ed72cd
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 44 additions and 0 deletions
  1. +20
    -0
      app/controllers/api/v1/accounts/lists_controller.rb
  2. +1
    -0
      config/routes.rb
  3. +23
    -0
      spec/controllers/api/v1/accounts/lists_controller_spec.rb

+ 20
- 0
app/controllers/api/v1/accounts/lists_controller.rb View File

@ -0,0 +1,20 @@
# frozen_string_literal: true
class Api::V1::Accounts::ListsController < Api::BaseController
before_action -> { doorkeeper_authorize! :read }
before_action :require_user!
before_action :set_account
respond_to :json
def index
@lists = @account.lists.where(account: current_account)
render json: @lists, each_serializer: REST::ListSerializer
end
private
def set_account
@account = Account.find(params[:account_id])
end
end

+ 1
- 0
config/routes.rb View File

@ -269,6 +269,7 @@ Rails.application.routes.draw do
resources :statuses, only: :index, controller: 'accounts/statuses'
resources :followers, only: :index, controller: 'accounts/follower_accounts'
resources :following, only: :index, controller: 'accounts/following_accounts'
resources :lists, only: :index, controller: 'accounts/lists'
member do
post :follow

+ 23
- 0
spec/controllers/api/v1/accounts/lists_controller_spec.rb View File

@ -0,0 +1,23 @@
require 'rails_helper'
describe Api::V1::Accounts::ListsController 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') }
let(:account) { Fabricate(:account) }
let(:list) { Fabricate(:list, account: user.account) }
before do
allow(controller).to receive(:doorkeeper_token) { token }
user.account.follow!(account)
list.accounts << account
end
describe 'GET #index' do
it 'returns http success' do
get :index, params: { account_id: account.id }
expect(response).to have_http_status(:success)
end
end
end

Loading…
Cancel
Save