1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-02 13:24:20 +01:00
fab-manager/test/integration/open_api/users_test.rb

47 lines
1.3 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
require 'test_helper'
module OpenApi; end
class OpenApi::UsersTest < ActionDispatch::IntegrationTest
def setup
@token = OpenAPI::Client.find_by(name: 'minitest').token
end
test 'list all users' do
get '/open_api/v1/users', headers: open_api_headers(@token)
assert_response :success
end
test 'list all users with pagination' do
get '/open_api/v1/users?page=1&per_page=5', headers: open_api_headers(@token)
assert_response :success
end
test 'list all users filtering by IDs' do
get '/open_api/v1/users?user_id=[3,4,5]', headers: open_api_headers(@token)
assert_response :success
assert_equal Mime[:json], response.content_type
users = json_response(response.body)
assert users[:users].count.positive?
assert(users[:users].all? { |user| [3, 4, 5].include?(user[:id]) })
end
test 'list a user filtering by ID' do
get '/open_api/v1/users?user_id=2', headers: open_api_headers(@token)
assert_response :success
assert_equal Mime[:json], response.content_type
users = json_response(response.body)
assert_equal 1, users[:users].count
assert_equal 2, users[:users].first[:id]
end
test 'list all users filtering by email' do
get '/open_api/v1/users?email=jean.dupond@gmail.com', headers: open_api_headers(@token)
assert_response :success
end
end