diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 15f8ecd6f..df2f0e3c9 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1,7 +1,11 @@ class UsersController < ApplicationController - before_action :set_user + before_action :set_user, except: %i[ index ] before_action :ensure_permission_to_change_user, only: %i[ update destroy ] + def index + @users = Current.account.users.active.alphabetically + end + def show end diff --git a/app/views/users/index.json.jbuilder b/app/views/users/index.json.jbuilder new file mode 100644 index 000000000..2faf5af04 --- /dev/null +++ b/app/views/users/index.json.jbuilder @@ -0,0 +1 @@ +json.array! @users, partial: 'users/user', as: :user diff --git a/app/views/users/show.json.jbuilder b/app/views/users/show.json.jbuilder new file mode 100644 index 000000000..ff40bb960 --- /dev/null +++ b/app/views/users/show.json.jbuilder @@ -0,0 +1 @@ +json.partial! "users/user", user: @user diff --git a/test/controllers/api_test.rb b/test/controllers/api_test.rb index 62244855a..d5bb0514f 100644 --- a/test/controllers/api_test.rb +++ b/test/controllers/api_test.rb @@ -48,6 +48,14 @@ class ApiTest < ActionDispatch::IntegrationTest assert_equal "My new card", @response.parsed_body["title"] end + test "get users" do + get users_path(format: :json), env: @davids_bearer_token + assert_equal users(:david).account.users.active.count, @response.parsed_body.count + + get user_path(users(:david), format: :json), env: @davids_bearer_token + assert_equal users(:david).name, @response.parsed_body["name"] + end + private def bearer_token_env(token) { "HTTP_AUTHORIZATION" => "Bearer #{token}" }