40 lines
1.2 KiB
Ruby
40 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
describe API::V2::Admin::Abilities, type: :request do
|
|
include_context 'bearer authentication'
|
|
|
|
let!(:create_admin_permission) do
|
|
create :permission,
|
|
role: 'admin'
|
|
end
|
|
let!(:create_member_permission) do
|
|
create :permission,
|
|
role: 'member'
|
|
end
|
|
|
|
describe 'GET /api/v2/admin/abilities' do
|
|
context 'superadmin user' do
|
|
let(:test_user) { create(:user, email: 'example@gmail.com', role: 'admin') }
|
|
it 'get all roles and permissions' do
|
|
get '/api/v2/admin/abilities', headers: auth_header
|
|
result = JSON.parse(response.body)
|
|
expect(response).to be_successful
|
|
expect(result).to eq(
|
|
'read' => %w[Level APIKey Permission],
|
|
'manage' => %w[User Activity Profile Label]
|
|
)
|
|
end
|
|
end
|
|
|
|
context 'member user' do
|
|
let(:test_user) { create(:user, email: 'example@gmail.com', role: 'member') }
|
|
it 'get all roles and permissions' do
|
|
get '/api/v2/admin/abilities', headers: auth_header
|
|
result = JSON.parse(response.body)
|
|
expect(response).to be_successful
|
|
expect(result).to eq({})
|
|
end
|
|
end
|
|
end
|
|
end
|